Add egg-info to .gitignore.
Make host list source modular and configurable.

This removes the imherent dependency on DNS zone transfers and adds a
mock host source as well for quick testing.
Add ZooKeeper-based host list source.
Gracefully handle errors caused by hosts terminating mid-push.