Rework implementation. Add error handling.
Introduce `Msgpax.pack!/1` and `Msgpax.unpack!/1` functions