Switch to broker-based networking backend

This patch removes the classes `peer` and `peer_acceptor` and replaces them
with `native_broker`. The middleman no longer knows about peers, it only knows
about brokers. The peer-based design predates brokers and doesn't make much
sense now that brokers are available. A broker-based design is much cleaner,
removes duplicate (or at least semantically equal) code and further reduces the
complexity of the middleman. Additionally, it makes "peers" first class
citizens, because brokers are actors. This makes communicating with peers much
more simple and straightforward.

This patch also replaces the old and clumsy `detail::raw_access` with
`actor_cast`.