Binary upgrade, fixes #85
Address code review comments
Merge pull request #86 from mailgun/conntrack

Binary upgrade, fixes #85
Logging and connection tracking fixes.

* Add support for setting logging levels
* Re-use the same Etcd client instead of instantiaing a new one every reload
Address code review comments
Merge pull request #90 from mailgun/connfix

Logging and connection fixes.
Switch to goterm
Migrate to goterm for tabular output
Merge pull request #91 from mailgun/top

Top
Prevent zombie state in case if child has exited with error
Merge pull request #95 from mailgun/zombie

Prevent zombie state in case if child has exited with error
run gofmt
fixes for problems found by go vet
fix
Use switch statements rather than oneOf function.

Testing for membership in a small set like this is an idiomatic
use for switch statements. Also, converting to switch statements
revealed a couple places where we were taking the wrong action for
expireA. These cases were caught by the compiler when expireA appeared
in multiple case expressions.
Merge pull request #96 from mailgun/jeremy/vet

Fixes for problems found by go vet
Merge pull request #97 from mailgun/jeremy/oneof

Use switch statements rather than oneOf function.
Add /opt/vulcan to PATH in Docker images.
Merge pull request #101 from ndarilek/master

Add /opt/vulcan to PATH in Docker images.
Implement lazy recursive reads from Etcd.

In case if Vulcand serves hundred of locations, naive implementation issues
hundres of requests to Etcd to retrieve all hosts, what causes hosts endpoint
to take around 10 seconds to complete. This implementation uses caching
for local recursive reads what speeds up the hosts endpoint 10x and reduces
the load on etcd cluster.