Support unicode literal requirement strings in python <3.
Issue 258:Enabling local publishing in twitter-commons
Final wiring necessary for wheel support in twitter.common.python

* Add WheelPackage
* Make default translator speak Wheel
* Filter accepted packages by precedence
* Increment twitter.common.python to 0.5.0

Reviewed at https://rbcommons.com/s/twitter/r/94
Add __hash__ to Link so that Packages correctly hash in resolve

Reviewed at https://rbcommons.com/s/twitter/r/247/
Disambiguate distributions installed in generic site-packages path during pex_bootstrap.

If you pip install twitter.common.python using sufficiently new pips, it
will get installed into site-packages as an EGG-INFO distribution instead of
an .egg.  This means its dist.location is site-packages instead of
site-packages/setuptools.egg, so interpreter.get_location('setuptools') is
ambiguous.  This removes the ambiguity by adding a name= keyword to
DistributionHelper.distribution_from_path.

Reviewed at https://rbcommons.com/s/twitter/r/249/
Patch excepthook and stderr to swallow exception messages by default.

Reviewed at https://rbcommons.com/s/twitter/r/253/
synchronize twitter internal/external repositories, increment pants to 0.0.18

Reviewed at https://rbcommons.com/s/twitter/r/255/
Enforce the building of commons in lockstep.

This updates commons to build in lock-step via
src/python/twitter/common/VERSION and provides a script to automate the
building of source distributions.
Expose the ttl and install_cache properties on CachingObtainer.

They're "public" anyway, in the sense that they're passed into
__init__(). But this allows the PantsObtainer subclass of CachingObtainer
 to access them in a natural way and use them to initialize the temporary
CachingObtainers it delegates to.

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

Signed-off-by: John Sirois <jsirois@twitter.com>
Squash exceptions even if user sys.exits

Before, it was possible to short-circuit the exception squashing code in
pex.execute through a sys.exit.  This wraps the execute logic in a
try/finally and increments twitter.common.python to 0.5.2.
Actually print and reraise exceptions in PEX.execute.  Increment to 0.5.3

Reviewed at https://rbcommons.com/s/twitter/r/271/
Increment twitter.pants to 0.0.20.

Reviewed at https://rbcommons.com/s/twitter/r/275/
Do not re-raise SystemExit exceptions

Reviewed at https://rbcommons.com/s/twitter/r/276/
Fix site scrubbing to include site.getsitepackages if available.

Reviewed at https://rbcommons.com/s/twitter/r/289/
Don't follow rel links by default, mirroring pip default behavior.

We should probably make this configurable via PantsObtainer in pantsbuild,
but for now I'm disabling it hard, which mirrors pip 1.6.x series semantics.
This is primarily to fix https://issues.apache.org/jira/browse/AURORA-368.
There's really no good reason to pull rel links.  The only exception we have
in practice is elementtree but I would both 1) love to see that dependency
go away and 2) we can always cache it on raw.github.com if we continue to
rely upon its source as a dependency.

Reviewed at https://rbcommons.com/s/twitter/r/293/
Allow redirection of PEX's stdin/stdout/stderr.

Useful for capturing output, e.g., by Pants.
Add history migration script.
[PATCH 0018/7508] Metrics: Fix the size of the indices array.

RB_ID=145008

(sapling split of c3066d97fd1e1d551285947f73aa86aef1c3ca58)
[PATCH 0019/7508] Metrics: Refactor the Histogram interface, remove getQuantiles, introduce getQuantile.

RB_ID=145013

(sapling split of aae6a715a440981592642a6a458ac342742122b5)
[PATCH 0037/7508] Metrics: Overall cleanup (code + tests)

RB_ID=145208

(sapling split of 1029d15d4f686e97d50c5db42bd4fa8b05b3c1eb)