Fix Resolver shutdown behaviour

* Add Resolver prefix to logging.
* Fix AsyncObject::removeReference() logic.
* Fix work remaining logic.

I spotted this while playing around with Application Stoppable behaviour. 
Reviewers: @nikb @vinniefalco 
lambdas also have some disadvantages. They don't have a name, you cant search for them, and you can't attach javadoc comments to them. They are certainly useful in many circumstances. But we won't be "replacing all std::bind with lambdas."