Objects in netcdf storage

It is done. Woohoo...
I have a way to store (almost) arbitrary objects easy and efficient in the netcdf file. This will now make things a lot easier.
Also all objects that are automatically stored are loaded lazy.
Caching works fine.
There an automatic way to find already existing objects by comparing their json string.
I have also updated the storage viewer to show everything that is new
This also meant a little change in the way the PathMover works, since it used to be mutable and change after a move. Now it generates a Sample with contains 
- the new trajectory, 
- a reference to the mover used
- a reference to the ensemble the sample (trajectory) should be in
- a reference to a MoveDetails object that is flexible and contains everything one might desire about a move. 

I guess we have to check if this blows up the file, but comparing to the trajectory data it is small and since it is read lazy only things that are really needed are loaded from the netCDF

We can now store the following object types in the storage
- trajectories
- configurations
- momenta
- ShootingPoints ( trajectory, snapshot and its index in the trajectory)
- ShootingPointSelectors (e.g. Uniform, Gaussian, etc...)
- PathMovers
- Samples (see above)
- MoveDetails
- Ensembles
- Snapshot (fake store, uses configurations and momenta and cannot really save itself)

Man, I need a break now... :)