Enable caching in the Travis CI build.

The specs here:
  http://docs.travis-ci.com/user/caching

This turns on caching for ~/.pants.d, ~/.ivy2
and the current pants requirements bootstraped in
build-support.  To make virtualenv caching work, updates
the virtualenv bootstrap script to use a stable directory name
across virtualenv versions.

Testing Done:
CI went green here: https://travis-ci.org/pantsbuild/pants/builds/44760074

Bugs closed: 887

Reviewed at https://rbcommons.com/s/twitter/r/1537/
Improve CI caching.

Add an option to skip pants bootstrap pre-clean
allowing cached build-support/pants_dev_deps.venv
to survive and be utilized.

I missed this cleaning going on in ci.sh when 1st enabling caching in https://rbcommons.com/s/twitter/r/1537/
This change actually uses the build-support/pants_dev_deps.venv now to avoid pip installing pants deps unless they change as evidenced by logs.

Testing Done:
CI went green here: https://travis-ci.org/pantsbuild/pants/builds/44795443

Bugs closed: 888

Reviewed at https://rbcommons.com/s/twitter/r/1538/
Make zinc relative its -classpath argument too.  (Again, because mesos
creates long-ass paths).

Testing Done:
Ran new tests.  Also https://travis-ci.org/pantsbuild/pants/builds/44629688

Reviewed at https://rbcommons.com/s/twitter/r/1528/
doc: you don't need Ultimate Edition IJ for the python plugin

This came up at Twitter build stand-up ~a week ago

Bugs closed: 848

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