Plumb ivysettings.xml location to the publish template.

Testing Done:
1.) tests including publish integration
==
$ PANTS_DEV=1 ./pants goal test tests/python/pants_test/::

2.) local publish
==
$ yes | PANTS_DEV=1 ./pants goal publish src/{java,scala}:: --no-publish-dryrun --publish-local=/tmp/repo --doc-javadoc-ignore-failure --doc-scaladoc-ignore-failure

Bugs closed: 400

Reviewed at https://rbcommons.com/s/twitter/r/764/
Fix a scope bug for java agent manifest writing.

Also fix a JavaAgent validation bug revelead by adding a test for
JarBuilder agent handling.

Testing Done:
$ PANTS_DEV=1 ./pants goal test tests/python/pants_test/tasks/:jar_task --test-pytest-options=-v
...
18:05:24 00:01   [test]
18:05:24 00:01     [pytest]
18:05:24 00:01       [run]
                     ============== test session starts ===============
                     platform linux2 -- Python 2.6.9 -- py-1.4.22 -- pytest-2.5.2 -- /usr/bin/python2.6
                     plugins: cov, timeout
                     collected 6 items

                     tests/python/pants_test/tasks/test_jar_task.py:111: JarTaskTest.test_custom_manifest PASSED
                     tests/python/pants_test/tasks/test_jar_task.py:86: JarTaskTest.test_overwrite_write PASSED
                     tests/python/pants_test/tasks/test_jar_task.py:102: JarTaskTest.test_overwrite_writestr PASSED
                     tests/python/pants_test/tasks/test_jar_task.py:57: JarTaskTest.test_update_write PASSED
                     tests/python/pants_test/tasks/test_jar_task.py:73: JarTaskTest.test_update_writestr PASSED
                     tests/python/pants_test/tasks/test_jar_task.py:133: JarBuilderTest.test_agent_manifest PASSED

                     ============ 6 passed in 1.27 seconds ============

18:05:26 00:03     [junit]
18:05:26 00:03     [specs]
               SUCCESS

Bugs closed: 401

Reviewed at https://rbcommons.com/s/twitter/r/768/
Upgrade requests, flip to a ranged requirement to help plugins.

Changelog here: https://pypi.python.org/pypi/requests
I grepped for DecodeError which we do not trap and the rest of the API Changes are additive for our use cases.

Testing Done:
The requests library is used by src/python/pants/cache/restful_artifact_cache.py and src/python/pants/net/http/fetcher.py, this validates the fetcher.py use:
==
$ rm -rf ~/.pants.d/tools
$ PANTS_DEV=1 ./pants goal resolve 3rdparty/:guava
...
21:28:52 00:00   [resolve]
21:28:52 00:00     [ivy] INFO]
Downloading http://repo1.maven.org/maven2/org/apache/ivy/ivy/2.3.0/ivy-2.3.0.jar
 INFO] Starting new HTTP connection (1): repo1.maven.org
100% .................................................. 1193 KB 10.480s
 INFO] sha1: c5ebf1c253ad4959a29f4acfe696ee48cdd9f473

21:29:02 00:10       [ivy-bootstrap]
21:29:03 00:11       [ivy-resolve]
21:29:03 00:11         [ivy]
               SUCCESS

Bugs closed: 404

Reviewed at https://rbcommons.com/s/twitter/r/771/
Add a unit test for JavaAgent preconditions and attribute wiring.

Testing Done:
Failed after test add, fixed after JavaAgent fix:
==
$ PANTS_DEV=1 ./pants goal test tests/python/pants_test/targets --test-pytest-options="-v -kJavaAgentTest"
...
20:42:36 00:00   [test]
20:42:36 00:00     [pytest]
20:42:36 00:00       [run]
                     ============== test session starts ===============
                     platform linux2 -- Python 2.6.9 -- py-1.4.22 -- pytest-2.6.0 -- /usr/bin/python2.6
                     plugins: cov, timeout
                     collected 40 items

                     tests/python/pants_test/targets/test_java_agent.py@55::JavaAgentTest::test_can_redefine PASSED
                     tests/python/pants_test/targets/test_java_agent.py@66::JavaAgentTest::test_can_retransform PASSED
                     tests/python/pants_test/targets/test_java_agent.py@77::JavaAgentTest::test_can_set_native_method_prefix PASSED
                     tests/python/pants_test/targets/test_java_agent.py@39::JavaAgentTest::test_defaults PASSED
                     tests/python/pants_test/targets/test_java_agent.py@35::JavaAgentTest::test_minimal PASSED
                     tests/python/pants_test/targets/test_java_agent.py@31::JavaAgentTest::test_required PASSED

                     ==== 34 tests deselected by '-kJavaAgentTest' ====
                     ==== 6 passed, 34 deselected in 0.38 seconds =====

20:42:38 00:02     [junit]
20:42:38 00:02     [specs]
               SUCCESS

Bugs closed: 403

Reviewed at https://rbcommons.com/s/twitter/r/770/
Kill un-implemented register.py entry-points.

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

Bugs closed: 402

Reviewed at https://rbcommons.com/s/twitter/r/769/
Force parsing for filtering specs

get_target fails if the target has not been parsed as part of the context, or manually added. Need to force parsing for filtering specs, since they will likely not be included in the graph otherwise.

Testing Done:
Passes existing/new tests, and resolves the issue internally.

Reviewed at https://rbcommons.com/s/twitter/r/775/
Fixup a hole in external dependency listing wrt encoding.

Refer to https://rbcommons.com/s/twitter/r/615/
This fixes a hole left there encountered at Twitter against ... shapeless.
It also adds an integration test that is now fixed with this fix.

Testing Done:
Locally:
$ PANTS_DEV=1 ./pants goal test tests/python/pants_test:all
$ PANTS_DEV=1 ./pants goal test tests/python/pants_test/tasks:jvm_bundle_integration

Travis CI went green: https://travis-ci.org/pantsbuild/pants/builds/31093736

Bugs closed: 406

Reviewed at https://rbcommons.com/s/twitter/r/776/
Added benchmark target to maven_layout()

Testing done:
https://travis-ci.org/pantsbuild/pants/builds/31105013

Reviewed at:
https://rbcommons.com/s/twitter/r/780
Fix exit status

Testing Done:
Ran a failing pants bootstrap; checked $?

Reviewed at https://rbcommons.com/s/twitter/r/779/
OSX 10.10

Some users have begun beta testing OSX 10.10 internally.

Reviewed at https://rbcommons.com/s/twitter/r/789/
Added a --spec-exclude command line flag to exclude specs by regular expression.

Multiple expressions can be specified by setting the flag more than once. This is in the same
vein as Eric's earlier work on excluding specs with the ^ expression, but this is more powerful
in that it (a) uses regexes, and (b) is an actual flag, and can therefore be specified in
.pants.rc.

Prompted by the need to exclude some automatically generated targets we have internally.

Most of the diff is test code; actual changes are pretty small.

Testing Done:
Wrote tests in pants_test/commands/test_spec_exclude_integration.py (which pass).

Bugs closed: 391

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