Task: Added temperature adjustment to MC barostat for simulated tempering (openmm/openmm#3614)

org: openmm
repo: openmm
pr_number: 3614
issue_title: Added temperature adjustment to MC barostat for simulated tempering
issue_body: The title more or less explains it all:
This pull request allows simulated tempering to be run in isobaric ensembles using Monte Carlo barostats by adjusting the temperature of the barostat.

fixes #3612
resolved_issues: number: 3612
title: Simulated tempering in the isothermal-isobaric ensemble
body: Hi OpenMM-devs,

I am attempting to run simulated tempering in the isothermal-isobaric ensemble, however upon inspection of the code it appears to me it only works in the canonical ensemble or non-MC volume regulated simulations?

I was wondering, could one run with a Monte Carlo barostat by addition of the following code?
```python
# Select the initial temperature.

self.currentTemperature = 0
self.simulation.integrator.setTemperature(self.temperatures[self.currentTemperature])
for force in self.simulation.system.getForces():
    if force.getName() == 'MonteCarloBarostat':
        force.setDefaultTemperature(self.temperatures[self.currentTemperature])
```
and
```python
# Select this temperature.
self._hasMadeTransition = True
self.currentTemperature = j
self.simulation.integrator.setTemperature(self.temperatures[j])
for force in self.simulation.system.getForces():
    if force.getName() == 'MonteCarloBarostat':
        force.setDefaultTemperature(self.temperatures[self.currentTemperature])
```
Looking forward hearing from you and hoping to get even more hands-on with OpenMM in the future.


## IMPORTANT INSTRUCTIONS

1. If you edit a python file, you MUST run 'make PythonInstall' inside the build directory
2. If you edit a c++ file, you MUST run 'make -j4 && make install" inside the build directory

Reference solution:
fix_patch: diff --git a/wrappers/python/openmm/app/simulatedtempering.py b/wrappers/python/openmm/app/simulatedtempering.py
index 57158241aa..1451b69b91 100644
--- a/wrappers/python/openmm/app/simulatedtempering.py
+++ b/wrappers/python/openmm/app/simulatedtempering.py
@@ -160,6 +160,9 @@ def __init__(self, simulation, temperatures=None, numTemperatures=None, minTempe
         
         self.currentTemperature = 0
         self.simulation.integrator.setTemperature(self.temperatures[self.currentTemperature])
+        for param in self.simulation.context.getParameters():
+            if 'MonteCarloTemperature' in param:
+                self.simulation.context.setParameter(param, self.temperatures[self.currentTemperature])
         
         # Add a reporter to the simulation which will handle the updates and reports.
         
@@ -230,6 +233,9 @@ def _attemptTemperatureChange(self, state):
                     self._hasMadeTransition = True
                     self.currentTemperature = j
                     self.simulation.integrator.setTemperature(self.temperatures[j])
+                    for param in self.simulation.context.getParameters():
+                        if 'MonteCarloTemperature' in param:
+                            self.simulation.context.setParameter(param, self.temperatures[self.currentTemperature])
                 if self._updateWeights:
                     # Update the weight factors.