Allow a forced override of ManagedZooKeeper's classpath
Merge pull request #76 from novas0x2a/classpath

Allow a forced override of ManagedZooKeeper's classpath
add changelog entry for #76
Minor spelling, grammar, consistency fixes
fix syntax error
Issue #65: Add a blocking=False option to the Semaphore lock object.
changelog / doc improvement and test for #65
Add a `max_leases` consistency check to the semaphore recipe.
Respect large client timeout values when closing the connection, refs #77
Issue #77: Use timeout in initial socket connection.
Only ensure path once in lock and semaphore recipes, closes #69
make sure the test harness propagates __init__
fix magic number
Merge pull request #84 from novas0x2a/minor

Un-magic-afy a magic number, and make it easier to mix-in classes in the test harness.
re-acquiring locks works without errors, closes #61
DataWatch: Pass all _func calls through _log_func_exception
watchers: Add ability to pass WatchedEvent to function

Provide a new flag for DataWatch and ChildWatch __init__, send_event,
that if set to true, the WatchEvent is passed to the decorated
function. In case of the first call or when calling the function upon
returning from a disconnect, this event is set to None.

The commit won't break existing use of the watchers as the send_event
defaults to False.

References GH-79.
add timeout param to Lock
Handle non-deserializable connect response

This problem has been seen sporadically in production but the
exact cause is not clear. Occasionally the client receives
a connect response that it cannot deserialize. This results
in an error and leaves the client in a zombie state where it
no longer attempted to reconnect.

With this change we catch errors and raise a ConnectionDropped
error. This is caught by the outer connection loop and the client
continues attempting to reconnect.
Merge pull request #95 from labisso/connect_deserialize

Handle non-deserializable connect response