Sliceable

This addresses issue #19 by removing ref from Deserialize and using the constructor internally.

A second constructor was created which also takes by value.