This commit:
- adds more debugging messages
- adds a custom transport which detects the StatusTemporaryRedirect status and updates the cluster leader accordingly
- adds a mutex to the Cluster functions o make them thread safe
- adds zero body size detection to the watch code so that we don't get unmarshal errors which cause the watch function to exit