Port to libchan, pt. 1

This is a minimal effort to get things running. Only the `beam` package
has changed - backend code is untouched.

- The `beam` package is still around, but functions as a
  libswarm-specific wrapper around libchan messages. It'll either be
  renamed or moved to the top-level namespace.

- We have our own Message type which serializes/deserializes to libchan
  messages, and our own versions of Sender and Receiver which speak
  libswarm. WrapSender and WrapReceiver promote libchan objects to
  their libswarm equivalents.

- We also have our own wrappers around libchan utilities: RetPipe,
  Handler, Pipe, Copy.

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
Basic tests for Message/Sender/Receiver

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
Merge pull request #91 from aanand/port-to-libchan