- Fixed a bug where the Pants build process would fail to install distribute binaries into the virtualenv.
- Removed (presumably) internal twitter servers from the setup script.
Merge pull request #189 from teddziuba/issue-181

Upgrade virtualenv, fix issue 181
New custom zinc/sbt version.
Fix some double quotes -> single quotes.
Move some common stuff from {Java|Scala}Compile into JvmCompile.
Remove confusing default arg.

All "unlocked" Lock objects are equivalent, so there was
no correctness issue, but this is clearer.

Auditors: pl
Use a CopyOnWriteHashSet to avoid CME.

Switch from a synchronized HashSet to a CopyOnWriteHashSet to avoid
ConcurrentModificationException when processing watchers.

This avoids exceptions like the following:

ERROR org.apache.zookeeper.ClientCnxn: Error while calling watcher
! java.util.ConcurrentModificationException: null
! at java.util.HashMap$HashIterator.nextEntry(Unknown Source)
! at java.util.HashMap$KeyIterator.next(Unknown Source)
! at com.twitter.common.zookeeper.ZooKeeperClient$2.process(
ZooKeeperClient.java:318)
! at org.apache.zookeeper.ClientCnxn$EventThread.processEvent(
ClientCnxn.java:526)
Rename jvmargs -> jvm_options.
Get rid of all uses of opts= param in java running.
Get rid of the opts= argument in java runners.
Rename BootstrapUtils to something more dignified.

It's a proper class that models some entity, "utils" is not
a good name for it.

Also renamed its methods to be a bit shorter and more readable.

This is all because my upcoming refactoring of {java|scala}_compile.py
will be interacting quite significantly with this class, and
I want the names to make more sense.

Patrick: I was going to ask you about this first, but you
were in transit all day, afaict. Feel free to push back
if you're opposed to this change.

Auditors: pl
Rename a file to match the new name of the class it defines.
Merge pull request #191 from pkwarren/avoid_concurrent_modification_ex

Use a CopyOnWriteHashSet to avoid CME.