Added support for the Mapping Protocol

The packer allows to pack also objects that implement the Mapping Protocol, i.e. the `collections.Mapping` and `collections.MutableMapping`.