[SPARK-1186] : Enrich the Spark-Shell Script to offer additional arguments.

basic:

-h  --help      : print this help information.
-c  --cores     : the maximum number of cores to be used by the spark shell.
-em --execmem   : num[m|g], the memory used by each executor of spark shell.
-dm --drivermem : num[m|g], the memory used by the spark shell and driver.

other options:

-mip --masterip     : Spark Master IP/Host Address
-mp  --masterport   : num, Spark Master Port
-m   --master       : full string that describes the Spark Master.
-ld  --localdir     : absolute path to a local directory that will be use for "scratch" space in Spark.
-dh  --driverhost   : hostname or IP address for the driver to listen on.
-dp  --driverport   : num, port for the driver to listen on.
-uip --uiport       : num, port for your application's dashboard, which shows memory and workload data
--parallelism       : num, default number of tasks to use across the cluster for distributed shuffle operations when not set by user.
--locality_wait : num, number of milliseconds to wait to launch a data-local task before giving up.
--schedule_fair : flag, enables FAIR scheduling between jobs submitted to the same SparkContext.
--max_failures : num, number of individual task failures before giving up on the job.
--log_conf : flag, log the supplied SparkConf as INFO at start of spark context.

e.g.
```
 ./bin/spark-shell -m 127.0.0.1         \
                   -ld /tmp             \
                   -dh 127.0.0.1        \
                   -dp 4001             \
                   -uip 4010            \
                   --parallelism 10     \
                   --locality_wait 500  \
                   --schedule_fair      \
                   --max_failures 100
```

Author      : bernardo.gomezpalacio@gmail.com
Reviewer    : ?
Testing     : ?