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. 
Sorry, yes; I misunderstood Ying's suggestion. I think that last thing you posted is better, but not so much better that what's here hurts.