MAPREDUCE-4427 added server side support for umanaged AM's. This tracks creating client side supporting pieces.
The basic flow of the client is as follows
1) accepts a cmd line for the AM. Optional queue information etc.
2) negotiates an application id with the RM and submits the unmanaged AM.
3) waits for the AM to reach YarnApplicationState ACCEPTED
4) then launches the AM in a separate process via the cmd provided. It communicated application attempt id to the AM via env variable. Stdout and stderr is redirected to the clients streams respectively.
5) waits for the AM process to exit and RM app to complete.