Fix outdated docstring
Less code, fewer goroutines, less state, no locks, less DRY

This should also fix a race condition that existed between watchers
sending errors and Watch/Command restarting failed watchers.
Marking some tests as parallel
This isn't even useful for debugging anymore
Wait for all consumer goroutines to stop before exiting

Also reimplement main loop ticker to prevent concurrent calls into the coordinator.
Fix log message and command watch error handling
Goroutine never exited
Fix tick can block forever during shutdown
Revert making shutdown wait on Watch/Command/Balance

This broke tests and made it way too easy for balancer and coordinator
implementations to deadlock the consumer on shutdown. Balancer and
Coordinator implementations should be easy to write and misbehaving
implementations shouldn't be able to trivially deadlock the consumer.
Set timeout for tests in travis to make sure we get a stack trace

Otherwise travis will just kill the test run after 10m and we won't know
where it died.
Merge pull request #74 from lytics/etcd-watching-refactor

Etcd watching refactor and synchronous main loop