More robust ZK watcher handling.
Heartbeat: use `connected?` rather than `ping?`.
maintain api for new zk_ functions

make everything private unless it must be public. we also
* kill the @should_exit parameter, which is ambigous
* force node creation during zk connection
* raise a RuntimeError if we cannot set a watch; there should be
  no way to recover from that
handle session expiry by failing fast

this will cause synapse to restart
Update docs badge in README

Update the URL of the docs badge to include it from inch-ci.org instead of inch-pages.github.io (the former being the successor of the Inch Pages project).
Add tcp-check to allowed HAProxy configurations
Merge pull request #74 from turbovote/tcp-check

Add tcp-check to allowed HAProxy configurations
Merge pull request #73 from rrrene/patch-3

Update docs badge in README
Merge pull request #68 from airbnb/cleaned_up_session_expiry

Cleaned up session expiry
exceptions in the watcher threads should wake the main thread
Merge pull request #75 from memory/thread-expiry

exceptions in the watcher threads should wake the main thread
[haproxy] always add a cookie to the server

This makes it easier to do session persistence based on a cookie. Without an
accompanying `cookie` setting in the backend, this change has no effect, as
confirmed by Willie in this mailing list post:

http://marc.info/?l=haproxy&m=140312462018915&w=2
[synapse] bump version to 0.11.0
Merge pull request #76 from airbnb/add_cookie_options

[haproxy] always add a cookie to the server
Bump version
synapse etcd service watcher
Add etcd to Gemfile.lock
Split large method up, support recursion through subdirs
Make recursion work
Make the watcher into a thread