Added Bully algorithm to load balancer.

The Bully algorithm allows a pre-configured number of load balancers to
wait for the active load balancer to fail. On failure, the load balancer with
the highest ID will take its place and start listening for hearteats on the
same port as the old leader did.

This change had the side-effect of introducing a more advanced messaging
protocol for document server heartbeats, in which the server's endpoint and
number of clients are sent as a JSON message instead of just a single integer.