ELB watcher

Ping @tannerburson @elaineuy @theo-lanman @alvindu 

ELB Synapse watcher. I've tested this locally and it works fine. I can show you if you're curious.

Note that I also needed to change the haproxy class due to the following:

1. The name it used for the server didn't match what we currently use in our haproxy configs (I got some examples from Ali).
2. It didn't allow you to configure the options for each backend server differently. What our implementation does is sets instances that are in the same zone as where synapse is running to be default servers, and instances in other zones to be backups servers. So I needed a hook to flip the backup switch.

So this has diverged from the airbnb repo.
Ooops! Leftover from my original tag based approach. Fix on the way.....