[SPARK-4848] Stand-alone cluster: Allow differences between workers with multiple instances

I've changed the stand-alone cluster run scripts to allow different workers to have different numbers of instances, and base webui ports.

I did this by moving the loop over instances from start-slaves to start-slave.

In order to stop things properly, I had to make similar changes in stop-slaves (and introduce stop-slave).

While I was at it, I changed SPARK_WORKER_PORT to work the same way as SPARK_WORKER_UI_PORT, since the new methods works fine for both.