Provide guess at map size to reduce allocations
Fix goroutine leak in wait()

One goroutine is spawned for each wait() command issued by a client.
Previously these goroutines would persist after the client had
disconnected, introducing a leak of goroutines.
Watches are cancelable.

This commit ensures that outstanding watches are cancelled when the
connection goes away.
Merge pull request #7 from soundcloud/fix/watch-leaks

Fix watch leaks