Data objects now have a swappable backend store.

- Allows conversion to and from: NetCDF4, scipy.io.netcdf and in
  memory storage.
- Added general test cases, and cases for specific backend stores.