doc: on skinny displays, don't show navigation UI by default.

also on skinny displays, show a button that toggles navigation UI [in]visible

Testing Done:
Looked at test-publish
http://pantsbuild.github.io/lahosken-okskinny/
with a few browsers, including my Android's built-in and Chrome on Android.

Reviewed at https://rbcommons.com/s/twitter/r/1440/
Support loading plugins via pkg_resources entry points

This provides an alternative way to find the methods `build_file_aliases` and `register_goals` that
are called as part of extension loading, specifically that for off-the-shelf plugins installed as
distrubutions, these methods are found using pkg_resources' entry points configuration.

Source backends are useful for quick and easy loading of custom tasks or aliases from sources that
live in a project. This change is not entended to replace source backends, but rather to make use
of richer metadata avilable on packaged distributions used for deploying off-the-shelf plugins.

Distributions (egg/sdist/etc) have version information and can define their entry points, which allows
cleaner separation of layout and implementation from core pants. Version requirements can be checked at
load and plugins can assert other plugins are loaded before them (since order matters eg "replace=True").

Adding such a plugin when using virtualenv pants would consist of adding it to requirements.txt used to
setup the virtualenv (or simply pip installing if using global site-packages), then adding it to
pants.ini's `plugins` list under the section `backends`.

For deployments running pants from a pex, the plugins could either be built into the distributed pex or
plugins could still be installed to a virualenv using a requirments.txt if that env were somehow then
added to the python path when invoking the pex.

This change does not include support for resolving, fetching or in any way installing plugins at
runtime -- requested plugins are loaded if they are found or an error is raised if not.  If or how how
to support loading plugins that are not previously installed is left for a separate discussion.

Testing Done:
https://travis-ci.org/pantsbuild/pants/builds/43419387
Added tests with mocked out distributions to test_extension_loader.py.
Demo repo: https://github.com/foursquare/pants-plugins-demo

Bugs closed: 843

Reviewed at https://rbcommons.com/s/twitter/r/1429/
Remove the old setup_py command.

It has been replaced by the python_setup goal.

There are no longer any remaining commands in pants, other than GoalRunner.

Note that this requires 49bb9f43eeb1331342f35cef331265cf4b8199bb, so it may not work if you cherry-pick it.

Testing Done:
CI passes.

Reviewed at https://rbcommons.com/s/twitter/r/1448/
Move the spec exclude integration test from command to base.

It is base-level functionality that has nothing to do with command.

Testing Done:
Integration test passed in its new location.

CI baking.

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