AS-285: Jobs finish after update (review)

Before this, otter could shutdown before updating job completion i.e. moving server from pending to active in state. Now otter will shutdown after the state is modified and any other logging is done. 

This adds good amount of refactor: `supervisor.execute_launch_config` returned `Deferred` that fired back with job id and completion deferred. The job id was used by `_Job`. Now, it only returns completion and job id knowledge moved to `_Job`. This way code is simpler. 
Hm, at first sight and playing with it in an editor, I seem to concur with Ying, and similarly non-strongly. Could you explain the complexity bit?