sixtracklib/common: Change Blocks unserialization to be more general
sixtracklib/common: Change Blocks unserialization to be more general

The previous implementation of unserialization did discard the storage /
mem pool information encoded in the Blocks structure. While this works
different instances of NS(Blocks) are used for building memory and
passing between functions (incl. GPU <-> CPU data transfers!), it
makes the API unnecessarily complicated and users unaware of this
restriction might run into problems.

This is an attempt at keeping any Storage information available that
might be encoded in an NS(Blocks) instance whithout requiring the
GPU contexts to know about NS(MemPool) or the serializing steps;

SixTrack/SixTrackLib,SixTrack/SixTrackLib,SixTrack/SixTrackLib,SixTrack/SixTrackLib