Support limiting coverage measurements globally by module or path.

This expands the PANTS_PY_COVERAGE env var from present/absent to
present and optionally specifying global coverage when its value is of
the form (modules|paths):[comma-sep list of modules or paths].

In the case of paths, make an effort to accomodate the sources
under test being contained in the test PEX chroot (the normal case),
but also support more exotic cases like running pants itself via
local live sources under PANTS_DEV=1.

Additionally re-structure the PythonTestBuilder coverage handling.

This change squelches reporting done by pytest-cov and just
uses that pytest plugin to generate the coverage data.  The
data is now post-processed to ensure sane paths are presented
to the user in the console and html reports.

Add a unit test to cover most aspects of the PythonTestBuilder
including basic test running, junit xml generation and coverage
and its path normalization.

CI went green here: https://travis-ci.org/pantsbuild/pants/builds/35575246

Bugs closed: 328, 369, 574

Reviewed at https://rbcommons.com/s/twitter/r/1034/
Enable python coverage / coveralls in travis-ci runs.

Testing Done:
CI went green here: https://travis-ci.org/pantsbuild/pants/builds/35584970
Coverage looks good under ci now - 57% + sane paths on the console output.
Coveralls also looks good with 61.48% (not sure why it sums differently) and sane paths that display real coverage annotated files: https://coveralls.io/builds/1223782

Bugs closed: 369, 581

Reviewed at https://rbcommons.com/s/twitter/r/969/
Add coveralls badge to doc site and README.md.

Testing Done:
Sample doc site publish here - you may need to refresh: http://pantsbuild.github.io/jsirois/index.html
And README.md renders as such: https://github.com/jsirois/pants/blob/d5e2a149c2fc368327524d8c7b16168a8936c5db/README.md

Bugs closed: 369, 544

Reviewed at https://rbcommons.com/s/twitter/r/972/
Adding thrift-linter to pants.

Background and some discussion: https://groups.google.com/d/topic/pants-devel/xaYZ4ezUqok/discussion

thrift-linter calls scrooge-linter to detect problematic usage patterns in thrift files and fails if linter errors are found.

The linter has a strict option. If false, it prints the linter messages but does not fail the build.

The strict option can be set from command line (--[no-]thrift-linter-strict flag), in a BUILD file (java_thrift_library(... thrift_linter_strict=False|True)), or in pants.ini, in [thrift-linter section].

One requirement is to be able to call the thrift-linter goal separately. So it has to be a top level goal rather than a part of gen.

Testing Done:
build-support/bin/ci.sh
https://travis-ci.org/nshkrob/pants/builds/35587177

Reviewed at https://rbcommons.com/s/twitter/r/1044/
doc: if rbt fails, don't give up and workaround. things to try

Reviewed at https://rbcommons.com/s/twitter/r/1048/
remove page target whose README.md does not exist

Reviewed at https://rbcommons.com/s/twitter/r/1046/
Merge branch 'master' into lahosken/docsitegen_begin

Conflicts:
	build-support/bin/ci.sh
remove short-lived pants_plus. remove commented-out platforms. remove cheeseshops reference.
don't leave out the top-level readme