Single thread pulling updates on HA machines

Moving from an HA communication design where updates gets streamed from
the master on most individual requests coming from slaves. This design
caused lots of duplicate transactions being streamed from master to each
slave, specifically if slaves issued write requests to the master.

Moving to a design where slave communication with its master does not
stream back transactions, except when doing store copy. Instead master
returns a transaction obligation saying which transaction id that must be
applied in order to continue. The slave will notify the single update
puller about that and will in turn be notified by the update puller
when that transaction has been applied. Many requests can poke the update
puller simultaneously and transaction pulling will piggy back on each
other, since there's only one thread pulling.

Benefits include:
- No code explicitly dealing with and preventing pull storms
- Less network communication with master
- Less load put on master
- Possibility for more optimizations regarding applying updates on slaves
  since updates are pulled in a single thread only.

The change is backwards compatible in rolling upgrade scenario, if the
master switches last. Slaves understand both types of responses
(transaction stream and transaction obligation).