DIFFEO-88: InstanceCollection is self-constructing

BlobCollection is a key-valued collection of binary data, that's really
intended to represent some stronger-typed collection.  Add a
collection_type field to BlobCollection that contains the name of a
Python type, and support in InstanceCollection to correctly set it up.

The upshot of this is that a kvlayer.instance_collection.Chunk() will
read/write list-of-Thrift-blob files and yield up items of the correct
type presumably derived from InstanceCollection.