Mainly comment cleanup.
Merge branch 'toy_dynamics' into simulator_cleanup
First draft of Simulator/Simulation reorg

Moved all OpenMM stuff into openmm_simulation, which is a subclass of
Simulator.
current_snapshot replaces initialization fcn
Remove simulator/simulation from snapshot.__init__

If you want to initialize a snapshot based on the current state of a
simulation engine, you must use engine.current_snapshot.
Rename to "engine": classes, variables, and files!
Replaced old API with new API.

In both OpenMM and Toy engines.
OpenMMEngine.configuration and .momentum
Factor out generic fcns and parts of init

The default start() and stop() functions are in DynamicsEngine.
Initialization of the storage object is in DynamicsEngine.__init__. All of
this should make it easier to subclass DynamicsEngine: the dev needs to know
their own engine tool, but doesn't need to worry about our internals.
Tests for ToyEngine config/momentum setters
Remove unused imports from dynamics_engine.py
ToyDynamics.__init__ type sig matches general case

Everything passed as a dictionary called `opts`.
Added n_atoms as arg to Storage().

This removes the necessity of having a topology file to use our storage. We
still need a number of (effective) 3D atoms. If you give a topology but not
a number of atoms, it still behaves the same and extracts the number of
atoms from the topology.
Fix to alanine example.

Got overzealous in adding n_atoms to stuff.
Prep for ToyEngine.generate(); waiting on units

Need to either change the way units are stored or make major changes to
ToyEngine to store with units. After conversation with JHP last night,
sounds like changing storage is easier, more logical, and may have other
positive effects.
Skeleton of OpenMMEngine tests.
ToyDynamics tests cover all except file-related
Draft tests (no asserts) for OpenMMEngine
OpenMMEngine tests passing.

Still need to add tests for the convenience properties .momentum and
.configuration to complete coverage, but everything else is done.
(Nearly) full coverage for OpenMMEngine

No support for restore yet, so that line isn't covered in tests. Similarly,
missing a bit of storage support in dynamics_engine. But the rest looks
good.