Refactor configuration. Move Zookeeper config to its own trait.
Initial work for task rate limiting
Add test for rate limiting
Disallow problematic characters in app ids. Fixes #46
Kill tasks that aren't running after 60 seconds.

By default, tasks which don't enter TASK_RUNNING after 60s should be
killed.  This parameter can be changed via command line with the
`--task_launch_timeout` switch.
Fixed Marathon's task accounting.

We must guarantee that Marathon will never launch more than N instances
for a given app (where N is the number of instances requested).
Bump version.
More task accounting fixes.

 - Refactored internal task state
 - Added task lanch rate limiting
 - Ensure we rebalance tasks periodically
Fixed web UI redirection by proxy.

Instead of redirecting web requests to the other master, we'll just
proxy everything.
Bumped scala lib versions.
Fixed 'app doesn't exist' bug.

When a task starts and finishes before marathon has a chance to handle
the status updates, the app gets lost.  We should make sure we know
about the app as soon as a task is launched.
Fixed another task accounting bug.

When apps are shut down or scaled down, we need to wait until we get
acknowledgement before removing those tasks from Marathon's state.