Add .war extension to _map_jar

- this allows 3rdparty .war dependencies to be bundled into
  an app bundle.  You can use this to serve 3rdparty
  web applications from a jetty container server, and
  have this managed via ivy.
Merge pull request #23 from slackhappy/fs-nonbeta-warsupport

Add .war extension to _map_jar
Add PANTS_CONFIG_OVERRIDE to allow a second config file

* PANTS_CONFIG_OVERRIDE specifies a buildroot-relative config file path
* An env variable was chosen because pants.ini is loaded before argument
  parsing
* That file is loaded along with pants.ini
* If a value is in the override file it is chosen instead of pants.ini
* There's no cross-referencing between the files, so each file must be
  internally consistent
Merge pull request #24 from jeffjenkins/master

Add PANTS_CONFIG_OVERRIDE to allow a second config file
More documentation for the overrides feature
Merge pull request #25 from jeffjenkins/master

More documentation for the overrides feature
Merge remote-tracking branch 'twitter/master'
Complete overhaul of scala compilation in pants.

- Relies on changes to zinc/sbt.
- Simplifies the code significantly.
- Also, changes to many other components.
- Also many other bugfixes etc.

It's not feasible to break this up into multiple commits,
as this is a merge from a branch that has acted as a master
branch for months now at Foursquare.

This change is too dramatic to code-review, but individual parts of
it have been reviewed internally at Foursquare, and the code
as a whole has been in use at Foursquare for months now, so
it is definitely better than the old implementation...

Consider this a one-time sync of Foursquare's work back into master.
No writes to remote artifact cache by default.
IvyResolve refactor and bootstrap phase

* Refactor IvyResolve primary into IvyUtils and Task.ivy_resolve
* Add a bootstrap phase, currently only with the Task BootstrapJvmTools
* Relax the has_sources requirement of VersionedTarget, so we can
invalidate and put JarDependencies into the artifact cache
* Allow workunit_factory as param to NailgunTask.runjava and
runjava_indivisible.  This is to allow them to be used anywhere one
might use their equivalent functions in binary_util.

Auditors: benjy
Move JavaCompile to new tool bootstrapper

Auditors: benjy

Conflicts:
	BUILD.tools
Move ScalaCompile over to new tool bootstrapping

Also refactor zinc_utils to access any necessary tool classpaths
lazily

Auditors: benjy
Move AntlrGen over to new tool bootstrapping

Auditors: benjy
Move BenchmarkRun to new tool bootstrapping

Auditors: Benjy
Move Checkstyle to new tool bootstrapping

Auditors: benjy
Move NailgunTask to new tools bootstrapping

Auditors: benjy
Move JUnit to new tools bootstrapping

Auditors: benjy
Move SpecsRun to new tools bootstrapping

Auditors: benjy
Small style tweaks (PEP8)

Auditors: benjy
Small fixes and comments related to bootstrap phase

Auditors: benjy