Made the servers list dynamic

Previously the servers list was static, this prevented us from handling a
server failure.
Merge pull request #41 from retr0h/retr0h/dynamic-machines

Made the servers list dynamic
Corrected call to `_get_servers`
Merge pull request #42 from retr0h/retr0h/correct-get-servers-call

Corrected call to `_get_servers`
Create a heartbeat service

This service only runs while the tribe-agent service is running.  It acts as a
means to notify other tribe servers the host is alive and willing to
participate.
Merge pull request #43 from retr0h/retr0h/heartbeat-service

Create a heartbeat service
Improved the `_get_alias_label` tests
Merge pull request #44 from retr0h/retr0h/better-label-tests

Improved the `_get_alias_label` tests
When the agent starts it should register itself
Merge pull request #45 from retr0h/retr0h/ping-on-agent-start

When the agent starts it should register itself
Cleanup aliases on agent stop
Merge pull request #46 from retr0h/retr0h/cleanup-aliases-on-stop

Cleanup aliases on agent stop
Updated agent upstart config to handle IP cleanup
Merge pull request #47 from retr0h/retr0h/cleanup-aliases-on-stop-part-deux

Updated agent upstart config to handle IP cleanup
Corrected tribe's etcd namespace bug

Unit/integration tests were sharing the same etcd prefix as the running system.
Merge pull request #48 from retr0h/retr0h/correct-etcd-prefix-for-testing

Corrected tribe's etcd namespace bug
Added a set of integration tests

These tests assert an initial state, and perform failover/failback tests.