Initial draft of OpenMMSimulation interface obj.

The idea is that we add an interface to separate the details of the
implementation of structures in the MD engine from the things we really need
to get back from the MD engine. This gives a taste of how to do that; still
need to change the core files so that they support this (mainly snapshot and
simulator)
Replaced OpenMM Simulation with our subclass.

Seems to run the alanine example without trouble (although JHP's switch to
frames every 2ps means I wait a lot longer for a new frame!)
Support for stop() function.

Not used in OpenMM (or my planned toy MD), but might be useful for Gromacs
or other external tools.
Correction for calling the stop function.
Merge pull request #48 from dwhswenson/decouple_dynamics

Decouple dynamics engine