Issue #35: Don't cache empty data.

Caching paths in Zookeeper where 'data' and 'children' lists are
entirely empty doesn't make sense. In the event that we get an update
to a Watcher where 'children'/'data' are empty, the most likely scenario
is that we were watching a path with Ephemeral nodes that were
providing a service (ie, your database server at /prod/master_db) and
for some reason that server has become un-registered from Zookeeper. If
there are no other nodes in the children list, then its highly likely
you do not want to cache this "empty" result list.
Pep8 cleanup.
Merge pull request #43 from Nextdoor/issue_35

Issue #35: Don't cache empty data.