Fix bug in lock() which was causing it to wait on an uninitialised channel when node doesn't exist.
Merge pull request #10 from domwong/master

Bug in Lock() method causing it to wait indefinitely
Move package to ./zk/ to match package name
Basic timeouts around network calls
Don't use Unix(0,0), instead a zero-struct
Merge pull request #12 from theatrus/add-timeouts

Add basic connection Deadlines to the recvLoop and sendLoop
Fix a possible race condition
Make sure recvFunc is called before responding on the recvChan
Close the connection on auth failure
Error on Lock() when part of path has already been created
Fixed the multi-level lock test case.

Clean up after the test so that it is repeatable.
zk.Create() will only create one node, so the parent must already
exist. That's why I changed path to be just one node deep.
Use a separate "/test-multi-level" parent node instead of the "/test"
node used as a lock.
Merge pull request #14 from triggit/master

Error on Lock() when part of path has already been created.
Close watcher channels afters use to avoid potential deadlocks
Add travis-ci config

unfortunately can't enable tests since they require a zookeeper server. This should be fixed
Fix CreateProtectedEphemeralSequential to return a proper error if too many tries
Restart zookeeper server for every test.

Also, make it easier to start test clusters. This will allow testing of more scenarios.
Run tests on travis-ci by downloading zookeeper
Update jar search path to work with travis-ci
Export StartTestCluster to make it useable for other packages
Add another test state to TestSetWatchers.