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.
Add convenience tool bootstrapping methods to Task.

Auditors: pl
Expose the lazy mode of tool bootstrapping.

Allows client code to further defer when the bootstrapping occurs.

Auditors: pl
Fix lazy tool classpath convenience method.

What was I thinking?

Auditors: pl
Update pants user and developer-oriented scripts.

- Update "pants" user-oriented script to fetch pre-build pants pex files.
- Add "pants.bootstrap" developer-oriented script to run from sources
  and build pex files.
- Remove "pants.multi" as its no longer used.
[PATCH 001/153] make ExecutorVars a thread. derp.

RB_ID=145676
NO-QUEUE=true

(sapling split of d74d9d2198f3247e9ebbd0641bb2fc46387855a1)
[PATCH 002/153] make sure the TwitterService joiner thread never dies

RB_ID=146299
NO-QUEUE=true

(sapling split of 90a2368ca98a911d4ff5a33dc4ba229ca5a1256b)
[PATCH 003/153]  Pin science to psutil 0.5.0 until api incompatibilities in 0.7.1+ can be resolved.

Kill instances of unused psutil.

RB_ID=147275

(sapling split of 38c61f4fec5d72d6450afae82264d08b16226a1c)
[PATCH 004/153]  Fixup Git to use the older -a to signal an annotated tag.

RB_ID=146973

(sapling split of 93f16019f240e74b6edd663274166c7f87aad267)
[PATCH 005/153]  enable publishing to Confluence4.0+

RB_ID=144041

(sapling split of b33350d93726c100109616c3d880985d42742831)
[PATCH 006/153]  add a KazooGroup implementation

RB_ID=143825

(sapling split of 455ef460a477e1c15a66b5c41e6e472d131e9d59)
[PATCH 007/153]  only set membership disconnection timer if we have not deliberately torn down

RB_ID=147717

(sapling split of 6e7871a527509895302646d2621686d5cd0fa9cb)
[PATCH 008/153] split out serverset/kazoo_serverset

RB_ID=147838
NO-QUEUE=true

(sapling split of 84b3b87270a62ba0f3e0a4797d635022da579084)