write out external messagepack library, not robust for decode so don't really trust it for encode either, and an unnecessary thing to get users to install when it takes so little code to do it in templates.  pass the output stream around explicitly to make the syncing modules cleaner.
hash bytes as they're written by the row packer rather than using an ostringstream buffer; ~25% faster, restoring performance to the level of the traditional msgpack library