Logging lock acquire, release and failure

By taking an optional log argument in BasicLock.

Yet to add tests
Do not unmarshall a value if it is None
Just pass unmarshalling dictionary to private unmarshaller
not using bind - thanks @cyli
tests and @cyli suggessted changes
lint fix
moved logging in seperate function

as it doesn't clutter with normal flow
moved logging lock failure in seperate function

to seperate it away from main code
damm. lint fix again
Merge pull request #32 from rackerlabs/check_for_null_before_unmarshalling

Do not unmarshall a value if it is None
logging error reason - per @cyli
Merge pull request #31 from rackerlabs/lock_logging

Logging lock acquire, release and failure
Merge pull request #30 from rackerlabs/version_update

Updated readme and bumped version to 0.1.4
more lock logging

Logging 'released lock' message only when lock was acquired. Not when it
fails to get intermittently. Also logging different claim ids when not
able to acquire lock
updated tests
lint fix
logging node info when connection is lost

Added mock test but would like to add integration test too
Address displayed part of the message

This will quickly show the node causing problem while glancing logs
Merge pull request #34 from rackerlabs/auto-515-node-disconnect-log

logging node info when connection is lost (part of AUTO-515)
setting seconds variables to None instead of 0 - thanks @cyli

This is to avoid unnecessary dependency of advancing the clock while
writing tests