Using msgpack to represent transformations

Following a suggestion from @choeger, I've switched to using msgpack'd objects
to store transformations.  This is actually simpler than using strings (no parsing
required now) and it only incurs a few bytes penalty per alias in most cases.

This closes #47.