Fix subscription protocol, add publication requests.

- Peers now always subscribes back, if it changes and always do
  initially.
- Peers can request publications, e.g. on subscription.
- Copy clojure.data diff implementation, needs better diffing of seqs.
- Add originating peer to every message exchange.
- Move high-level API from sync to stage namespace.