AS-285 Jobs finished only after updating state

otter was shutting down before updating state on job completion. Fixed this by adding to job deferred to `supervisor.deferred_pool` only after state updation callbacks have been added.  

I am sorry this change has massive test changes since most the tests use `FakeSupervisor` instead of mocked `Supervisor`. This is because mocked one would not allow access to `deferred_pool` public property since it implements `ISupervisorService` which probably shows flaws in the design. Either it should not be an interface or provide APIs to add to the pool. Not sure about the right approach. 
Ah ok - we do in all of our audit logs.  :)  I was thinking maybe they should look like complete sentences (granted, "Server deleted" is not a complete sentence - wondering if it should be).