Refactor options bootstrapping.

Instead of free-floating functions, the bootstrapping is now
encapsulated in a bootstrapper class. This class exposes both the
bootstrap and full options.

This is necessary to support the startup sequence in pants_exe.py properly:

- To create full options we need the known scopes.
- To get the known scopes we need to load plugins and extensions.
- The plugin and extension registration code may use config.

Therefore we need a way to load the bootstrap config, then do some work,
then load the full options.

Currently we achieve this with a gross manual config-reading hack in pants_exe.py.
This change will allow us to get rid of that hack.

This change also fixes an issue where in tests the buildroot wasn't plumbed in
everywhere it should be.

Testing Done:
Unit tests pass. Integration tests pass.

Reviewed at https://rbcommons.com/s/twitter/r/1453/
Fix ./pants to ./pants goal gaols in tutorial.

Fix ./pants to ./pants goal goals

Since ./pants gives you an error saying no goals to prepare.

Reviewed at https://rbcommons.com/s/twitter/r/1427/
Always relativize the classpath where possible.

Mesos produces very long path names, and repeating these names in the classpath can exceed the max length of a single argument (which defaults to 131072 on Linux).

Testing Done:
https://travis-ci.org/pantsbuild/pants/builds/43541955

(and then ran new tests locally).

Reviewed at https://rbcommons.com/s/twitter/r/1455/
Fix gitignore path for bin to only include root bin directory
(which is created by eclipse); remove unnecessary unexclusions.

Reviewed at https://rbcommons.com/s/twitter/r/1456/
s/whre/where/ in first tutorial

Reviewed at https://rbcommons.com/s/twitter/r/1464/
Fix a bug where a request for help wasn't detected.

Testing Done:
options unittests pass.

Reviewed at https://rbcommons.com/s/twitter/r/1467/
Get rid of the Command class completely.

GoalRunner now just extends object.

The functionality previously in Command is now in GoalRunner.

Most of the functionality in pants_exe.py is now in GoalRunner too.

RIP old pants...

Testing Done:
All integration and unit tests pass.

Reviewed at https://rbcommons.com/s/twitter/r/1465/