Move shutdown hook code into YARN-679; will look at findbugs warnings and add tests
Move NMClientAsync to YARN-117 model, make stop() robust
Move NMClient to YARN-117 model, make stop() robust, fix the tests to work when stop() only works once