[SPARK-1516]Throw exception in yarn clinet instead of run system.exit directly.
All the changes is in  the package of "org.apache.spark.deploy.yarn":
1) Add a ClientException with an exitCode
2) Throws exception in ClinetArguments and ClientBase instead of exit directly
3) in Client's main method, catch exception and exit with the exitCode.

After the fix, if user integrate the spark yarn cline into their applications, when the argument is wrong or the running is finished, the application will not exit. Now the exit only happens in command line running.