Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'
Major overhaul to alchemy.py, where a single alchemically-modified system is now created with alchemical parameters (lambda_torsions, lambda_restraints, lambda_coulomb, lambda_sterics).
Softcore Lennard-Jones and electrostatics are now used to allow lambda_coulomb and lambda_restraints to be modified simultaneously.
Some additional changes are needed to fully support decoupling and annihilation; no significant testing has taken place, except doctests.
Fixed some bugs introduced by latest alchemy rework; need to overhaul other parts of code (repex context caching) next.
Minor improvements.
Minor updates for optimal cluster performance.
Debugging alchemy.py
Added switch to alchemy.py, but will have to separate Lennard-Jones and electrostatics into separate CustomNonbondedForce terms because long-range correction can only be applied to Lennard-Jones.
Fixed bug in alchemy.  Still need to split into separate Lennard-Jones and electrostatics CustomNonbondedForce terms.
Split CustomNonbondedForce for alchemy into separate objects for sterics and electrostatics.
To fully support PME, we may have to abandon having charges depend on a global parameter and instead scale the charges in the original NonbondedForce.
We now return a copy of the unmodified reference system if all alchemical parameters are 1.
Fixed bug in alchemy.py
Fixed error in implementation of switching function.
Back-ported Kyle's speedup of mixing statistics.
Fixed empty PDB files.
Majorly cleaned up files for p-xylene example.
Updated prmtop files for p-xylene example.
Minor updates to run scripts for p-xylene example.
Moved coordinate files.
Updated alchemical spacing; uncommented PDB replica trajectory writing.