Add optional flags for monitoring pseudowork
Add optional flags for monitoring pseudowork

- Don't do extra energy evaluations unless `monitor_work=True` or `monitor_heat=True`
- When `monitor_heat=True`, we do 4 kinetic energy evaluations (one before and after each velocity randomization)
- When `monitor_work=True`, we do the 4 kinetic energy evaluations required to measure heat, plus 2 potential energy evaluations (before and after the entire step) to get the total energy change
   - If `monitor_work=True`, then we also set `monitor_heat=True`
choderalab/openmmtools,choderalab/openmmtools