Construct messages with explicit fields to allow for new fields

This is in preparation for the new `Attachment` field.
Beam messages can attach arbitrary file descriptors.

Each transport is responsible for implementing file passing using the
best available method.

Current state of implementation:

* inmem: full
* unix: not yet implemented
Merge pull request #9 from shykes/pr_out_beam_messages_can_attach_arbitrary_file_descriptors