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/