Add basic Endpoint/Peer implementations.

Expecting this to be fundamental plumbing for connecting endpoints
(local or remote) to one another, though they don't communicate
anything meaningful yet (just debugging/test messages).