tracking pull request: working towards the pub server

okay making this pr so we can track/discuss progress of the server, once we get to 4 we will be ready to release v1?

1. The foundation is that both relays and follows are encoded in the feeds.
the first thing the server does is join a stream of relay messages with the stream of
it's friends. Then it has the list of servers it should connect to. (done)

2. Next, decide what servers to connect to. random is good enough for now,
but later we probably want to do something smarter. connect to those servers and replicate.

3. rpc. this should expose the database api to local clients.

4. add ephemeral messages to protocol.

5. local network discovery, broadcast udp to find other ssb instances on the local network. are these presented as ephemeral messages?

6. realtime replication. after two servers are in sync, stay connected, replicating messages as they occur. also, replicate ephemeral messages. should probably have some connections that are are long lived (stay connected to pub server for longish time, and others that "walk" around.)