Method save implemented
New version with optimzed memory consumption

In old version connections were stored using pointers so each connection
needs 8 bytes in order to store pointer to connected cell (assuming
64bit CPU). In the new version I'm storing just Col and ZIndex of cell
which can be configured in order to use 4+2 or 2+2 bytes for each
connection. This can be also optimized out to use 3+1 bytes in a packed
version.

load and save methods also has been implemented based on the new
algorithm