Add scope name  to console while printing goal help

Right now,
./pants goal compile --help shows

compile: Scala source code style check.

-h, --help   show this help message and exit
--[no-]skip  Skip scalastyle. (default: None)

-h, --help              show this help message and exit
--partition-size-hint <# source files>
                        Roughly how many source files to attempt to compile
                        together. Set to a large number to compile all sources
                        together. Set to 0 to compile target-by-target.
                        (default: 9223372036854775807)
--[no-]warnings         Compile with all configured warnings enabled.
                        (default: True)
--missing-deps {off,warn,fatal}
.
.
--plugins _COMPILE.SCALA_PLUGINS__
                        Use these scalac plugins. (default: [])

-h, --help              show this help message and exit
--partition-size-hint <# source files>
                        Roughly how many source files to attempt to compile
                        together. Set to a large number to compile all sources
                        together. Set to 0 to compile target-by-target.
                        (default: 9223372036854775807)
--[no-]warnings         Compile with all configured warnings enabled.
                        (default: True)
--missing-deps {off,warn,fatal}
                        Check for missing dependencies in java code. Reports
                        actual dependencies A -> B where there is no

.
.
--[no-]delete-scratch   Leave intermediate scratch files around, for debugging
                        build problems. (default: True)
--args _COMPILE.APT_ARGS__
                        Pass these extra args to javac. (default: [])
.
.
-h, --help              show this help message and exit
--partition-size-hint <# source files>
                        Roughly how many source files to attempt to compile
                        together. Set to a large number to compile all sources
                        together. Set to 0 to compile target-by-target.
                        (default: 9223372036854775807)
--[no-]warnings         Compile with all configured warnings enabled.
                        (default: True)

This is very confusing,
Plus does not show the sub tasks in this goals and hence anyone wanting to use task specific option has no idea how to.

@Benjy let me know if this was intentional.

Testing Done:
yes.
You can see the tasks in the compile goal.

./pants goal compile --help

/Users/tdesai/projects/pants/dist/pants_local_binary.pex -> /Users/tdesai/projects/pants/pants.pex

compile: Scala source code style check.

compile.scalastyle
  -h, --help   show this help message and exit
  --[no-]skip  Skip scalastyle. (default: None)
compile.scala
  -h, --help              show this help message and exit
  --partition-size-hint <# source files>
                          Roughly how many source files to attempt to compile
                          together. Set to a large number to compile all sources
                          together. Set to 0 to compile target-by-target.
                          (default: 9223372036854775807)
  --[no-]warnings         Compile with all configured warnings enabled.
                          (default: True)

..
compile.apt
  -h, --help              show this help message and exit

..
  --args _COMPILE.APT_ARGS__
                          Pass these extra args to javac. (default: [])
compile.java
  -h, --help              show this help message and exit
  --partition-size-hint <# source files>

Reviewed at https://rbcommons.com/s/twitter/r/1375/
Allow adding entries to source_roots

Testing Done:
Ran source_roots tests.

Reviewed at https://rbcommons.com/s/twitter/r/1359/
remove outer (pants_exe) lock and serialized cmd

All subcalsses of command (eg GoalRunner and SetupPy) do not require the outer lock
so only the Context _lock is ever actually locked now. Simplified pants_exe and the
number of places we use dirutil.Lock
Remove execute_on_subproc and background subproc pool

Turns out we didn't get the parallelism we wanted with threads making blocking calls to subprocesses.

Re-using the subproc_map that is used in cache reads, and sending the whole call as a single piece of Work,
gets parallel compression and uploads, though at the expense of slightly less granular reporting. It also
turns out that separate process pools for aren't that useful, and slows down startup/shutdown.