Revise API for asynchronous calls

A "cookie" is now just a channel of the new type Reply, containing either an
error or the actual reply. This channel can be used in a select statement, or
(for synchronous calls) Store can be called on it. This moves the unmarshalling
of the body to the input worker goroutine.

Fixes #4.
Send messages with the correct byte order
Use a goroutine to generate serials
Implement (*Connection).Send

Fixes #8.
Make Cookie a receive-only channel
Expand example in README