[WORKER] Support new GALERA protocol

Adds a new feature that allows us to setup a Galera load balancer
that will allow users to treat the LB address as the single writeable
database host, thus preventing deadlocks. This is discussed in more
detail at this URL:

http://www.severalnines.com/blog/avoiding-deadlocks-galera-set-haproxy-single-node-writes-and-multi-node-reads

When the 'protocol' value is set to 'galera', we set up a TCP
load balancer. All backend nodes, except for one, must be defined
using the 'backup' node config option. The one NOT defined with
'backup' will act as the main database host. If it fails, it will
then failover to one of the backups.

We still allow the user to define their own 'algorithm', though
this likely has little effect since none of the backups will have
any connections, so LEAST_CONNECTIONS and ROUND_ROBIN could choose
any other node.

A health monitor can still be defined, although CONNECT is the
only one that makes sense.

This also fixes a bug where if adding a server failed, this was
never reported back.

Change-Id: I0a572b1930806c6e0c1b6ddb2f678fbe234ce993
Merge "[WORKER] Support new GALERA protocol"