YARN 2.2.0 has a nice Async API for clients and AMs. This API didn't exist when we did the initial YARN integration for Samza. We should upgrade Samza to use these new APIs.
The API is loosely based off Samza's own AM code, so we can probably strip out a lot of it (YarnAppMaster, mainly), and switch everything over to the call-back based API.
For details, see:
This new API is used in DistributedShell now, so we can use that for testing.