Fixup test_targets_help.py and link back into :all.

Testing Done:
$ PANTS_DEV=1 ./pants goal test tests/python/pants_test/tasks/:targets_help
...
23:43:15 00:01       [jvm-compilers]
23:43:15 00:01   [test]
23:43:15 00:01     [pytest]
23:43:15 00:01       [run]
                     ============== test session starts ===============
                     platform linux3 -- Python 2.6.8 -- py-1.4.20 -- pytest-2.5.2
                     plugins: cov, timeout
                     collected 2 items

                     tests/python/pants_test/tasks/test_targets_help.py ..

                     ============ 2 passed in 0.32 seconds ============

23:43:22 00:08     [junit]
23:43:22 00:08     [specs]
               SUCCESS

Bugs closed: 203

Reviewed at https://rbcommons.com/s/twitter/r/483/
Remove unnecessary print to stdout

This breaks scripts that rely on parsing the stdout of various pants
commands.

Testing Done:
Works internally.  Change is extremely trivial.

Reviewed at https://rbcommons.com/s/twitter/r/486/
Some minor regressions in python test targets/builder

Fix a minor regression in the PythonTest interface (it used to take a timeout
param).  Also use a more recent version of coverage for python tests.

Testing Done:
CI passes

Reviewed at https://rbcommons.com/s/twitter/r/480/
Re-introduce jvm_app.binary.

This maintains support for specifying a JvmApp's binary via a singleton
dependency but favors the dedicated binary kwarg which properly evokes
both the type and cardinality of the argument.

Adds unit tests covering the new kwarg, backwards compat and new
lazy checks that the binary property is valid.

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

Bugs closed: 202

Reviewed at https://rbcommons.com/s/twitter/r/482/
Unbreak test_detect_duplicates.py and link into :all.

I think the test could be improved to be more black box and not dip
in to test a private method directly, but this fixes the basic break
due to a signature change in the tested private method.

Testing Done:
$ PANTS_DEV=1 ./pants goal test tests/python:: --test-pytest-options="-v -ktest_detect_duplicates"
...
00:15:23 00:01   [test]
00:15:23 00:01     [pytest]
00:15:23 00:01       [run]
                     ============== test session starts ===============
                     platform linux3 -- Python 2.6.8 -- py-1.4.20 -- pytest-2.5.2 -- /home/jsirois/dev/3rdparty/pyenv/versions/2.6.8/bin/python
                     plugins: cov, timeout
                     collected 282 items

                     tests/python/pants_test/tasks/test_detect_duplicates.py:68: DuplicateDetectorTest.test_duplicate_found PASSED
                     tests/python/pants_test/tasks/test_detect_duplicates.py:73: DuplicateDetectorTest.test_duplicate_not_found PASSED
                     tests/python/pants_test/tasks/test_detect_duplicates.py:78: DuplicateDetectorTest.test_fail_fast_error_raised PASSED

                      279 tests deselected by '-ktest_detect_duplicates'
                     ==== 3 passed, 279 deselected in 0.83 seconds ====

00:15:25 00:03     [junit]
00:15:25 00:03     [specs]
               SUCCESS

Bugs closed: 204

Reviewed at https://rbcommons.com/s/twitter/r/484/
Add resource products on the target itself in jar_create

This fixes a regression where scalac_plugins were not having their
scalac-plugin.xml files written into the jar.  Any other subclass of
JvmCompile that uses JvmCompile.extra_products will also suffer from
this regression.

Testing Done:
CI passes

Reviewed at https://rbcommons.com/s/twitter/r/489/
Add TODOs for JvmCompile.extra_products
Make Address abstract and support constructing SyntheticAddresses from specs or path, name tuples.

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

Bugs closed: 205

Reviewed at https://rbcommons.com/s/twitter/r/487/
A python_binary_create task, to bring pex-building under goal.

This task supports 'compatibiity' specs in python_binary targets,
to restrict the interpreters the pex machinery can select from.

Old functionality via 'command' is unchanged.
Revert "A python_binary_create task, to bring pex-building under goal."

This reverts commit eb9413477401220c2299fa3e89a41fc42106d429.
Regression in handling an external dep containing a unicode character classname.

I chose to make the dependency on cucumber-java declared right in the BUILD file and not in 3rdParty/dependencies because I did not think another class would need to reference this library and it isn't needed by the rest of pants, just the example.

Testing Done:
In our case, the error was occuring if you ran 'goal binary' or 'goal bundle' as it ran the 'dups' task.

Added an example project that depends on 'cucumber-java' which has non-ascii classnames.

Added a unit test that depends on it, (but this would not catch the problem we saw because it was in the duplicate detection task)

Added a test to test_duplicate_detection.py to make sure unicode names are properly handled in this step.

Bugs closed: 207

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