Beam: simplify API with new Message type

New prototypes:

* Send(Message) error
* Receive() (Message, error)