- The init of GenericNetwork has been adjusted so that an empty network results when no arguments are sent
- The purpose of this is to allow saved data dictionaries to be loaded into empty objects. This change will eventually be applied to Geom/Phys/Phase and Alg as well
- I updated the __setitem__ so that 'pore.all' and 'throat.all' are allowed to be over written if the existing arrays are (0,) in shape (i.e. empty)
Improvements to the object save and load methods
Changes to the init of GenericGeoemtry to allow instantiation of empty Geometry objects.  The intention is then call the .load() method to read in a save object's dict.
Added a line to close npz files after loading them, to free them for deletion via OS
Fairly large changes to the Cubic class
- I did not like that the from_image method also added data to the network.  This is not the job of the topology constructor, so I removed it.
- The normal init of the Cubic class now accepts either a list of 'shape' or an image with the desired 'shape'.  The generator 'trims' the network to exist where 1's were present in the input image.
- This broke some tests, so I fixed as many as I could, and ended up remove the 'rectilinear' check which was irrelevant after the removal of from_image
- I added a NEW version of fromimage that works AFTER the topology has been generated, to add ANY values to the network (internal pores only).
Merge branch 'develop' of https://github.com/PMEAL/OpenPNM into develop