NetCDF reporter

1. New NetCDF reporter to parallel the HDF5 reporter. Writes OpenMM trajectories in the AMBER format.
2. For consistency, the objects that read and write netcdf and hdf5 files from disk are now called `NetCDFTrajectoryFile` and `HDF5TrajectoryFile`
3. `NetCDFTrajectoryFile` now handles `write()` being called with `simtk.unit.quantity` instead of pure numpy arrays. this is necessary for the reporter.
5. Both the `HDF5Reporter` and `NetCDFReporter` support being called with a atomSubset keyword arg.