MsgPack shouldn’t expect buffer is owned

This way it allows to use both owned and borrowed data and is much more flexible.
Merge pull request #31 from vhbit/mem-agnostic

Be agnostic on is it borrowed or owned data
Update for rust master (not yet working)
Bring up-to-date with rust master
Update the Decoder to work with arbitrary Readers
Add support for serializing enums

The format for enums is [variant-name, args*]. The length
of the array is currently is unused.