controller: Handle controller crash in scheduler

Signed-off-by: Lewis Marshall <lewis@lmars.net>
controller: Track the state of one-off jobs

Signed-off-by: Lewis Marshall <lewis@lmars.net>
test: Convert scheduler tests to integration tests

Signed-off-by: Lewis Marshall <lewis@lmars.net>
test: Use existing slugrunner image in SchedulerSuite

Signed-off-by: Lewis Marshall <lewis@lmars.net>
test: Add / Remove hosts via HTTP

Signed-off-by: Lewis Marshall <lewis@lmars.net>
test: Add some debug logging

Signed-off-by: Lewis Marshall <lewis@lmars.net>
test: Increase timeout for job events

Signed-off-by: Lewis Marshall <lewis@lmars.net>
controller: Unregister service on exit

Signed-off-by: Lewis Marshall <lewis@lmars.net>
router: Unregister services on exit

Signed-off-by: Lewis Marshall <lewis@lmars.net>
test: Dump logs for all jobs on failure

Signed-off-by: Lewis Marshall <lewis@lmars.net>
test: Use simpler process for scheduler tests

The echoer process sometimes crashes when it is stopped too quickly,
which is probably because sdutil has not yet exec'd the socat process.

Signed-off-by: Lewis Marshall <lewis@lmars.net>
test: Watch router-api service when removing hosts

Signed-off-by: Lewis Marshall <lewis@lmars.net>
test: Require an auth key for cluster API requests

Signed-off-by: Lewis Marshall <lewis@lmars.net>
Merge pull request #186 from flynn/scheduler-tests

Convert scheduler tests to integration tests