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.
- Dataset.translate() can now optionally copy the object.
- Fixed most unit tests, test_translate_consistency still fails.
Merge branch datastores into master.

Conflicts:
	src/polyglot/data.py
Merge pull request #8 from akleeman/datastores-merge

Datasets now use data stores to allow swap-able backends