support full set of storm commands

Changes: Support more storm commands in storm-yarn shell.
==========================================
1. Add commands. storm-yarn submit, storm-yarn kill, storm-yarn list, storm-yarn rebalance. There is header description for the usage.
2. Use more robust way to get storm home under a zip. (No need storm version anymore)
3. fix the JAVA home. For AppMaster, use System.getProperty("java.home"). For supervisor, use env JAVA_HOME.
4. Allow to pass storm conf when building storm commands. 
For example, to support command: storm-yarn list. We need:
a) download the updated storm-conf from AppMaster to a temporary folder. 
b) Use the storm-conf in the temporary folder to construct command like: storm list -Dstorm.conf.file=temporary_storm_conf_file.