A command-line argument splitter.

Splits a Pants command line into a set of scoped flags and a set of targets.

Not wired up to anything yet.
A specialized container for option values.

This container supports key forwarding and ranked values. See docstrings
for details.
A custom argparse help formatter.

Squelches the extraneous parts of the argparse help message
(headers, usage etc.) since we format those ourselves. Leaves
just the per-flag help.

Note that subclassing the formatter is an official part of the
argparse API, so this is not underhanded or fragile.
Hook up the pants/option tests to pants_test:all.

Also fix a bug in a test.
Merge branch 'master' into new_flags2

Conflicts:
	3rdparty/python/requirements.txt