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).
More task accounting fixes.

 - Refactored internal task state
 - Added task lanch rate limiting
 - Ensure we rebalance tasks periodically