Add support to read and write Amber restart files

This supports reading and writing both NetCDF and ASCII Amber restart files, and includes `load_restrt` and `load_ncrestrt` functions to load them as `Trajectory` objects.
Earlier, this code raises  `TypeError('"%s" is not a recognized Amber restart' % filename)`. I think that would be appropriate here too.

If anyone feels strongly about the class hierarchy for errors, we could subclass TypeError or IOError later down the road for a custom FormatError. This could be useful later if, for example, we have lots of registered loaders that all process the same (ambiguous) file extension, and we need to try them sequentially. Currently though, we don't need that.