raise UnserializableObject if no serializer is found
add some docs for Cannery

Also change Cannery#dump to return Can#dump instead of the can object.
More likely to be what users want, and there's no reason to expose the
Can object if we don't have to.
fix precision in time serializer
remove old serializer
remove gem dependencies

red25519 will be replaced with rbnacl, and celluloid-zmq should be an
optional dependency.
add msgpack and multi_json to Gemfile for testing
rename Message to Envelope

Message is too overloaded in Celluloid. Envelope is a better concept,
since it encloses a payload and has sender and destination addresses.
rename mailbox in RemoteMailbox to forwarder
slim down envelope

Headers and env are not really necessary (yet)
add class_for to Cannery
require cannery instead of serializer
simplify transport dispatch

Add Connection class to encapsulate connection state to a single remote
node. MailboxRouter is no longer needed, and never would have worked
anyway since each connection needs its own stack to connect to one
mailbox.

Negotiators are now handled within the Connection object. Transports
delegate all messages to Connections and don't try to route them.
don't depend on Address class in BasicResolver
remove redundant MiddlewareStack definition
remove mailbox cache from transport

let Resolvers handle mailbox caching
subscribe to full address in Local transport