doc: add/improve "Implemented by..." in generated docs

I didn't have a great answer for: "If this is intended only for BUILD file authors, then stick with jar; otherwise you might want to mention both [jar and pants.backend...JarDependency] for clarity." Here's an attempt to rectify that: With this change, the generated doc for "jar" mentions "JarDependency". And other thingies similarly mention where they're implemented.

This change adds lines to most of BUILD Dictionary items a la
  Implemented by pants.backend.python.targets.python_tests.PythonTests
...so if someone gives you a python_tests and you're a new Pants developer, you can find the underlying code without having to grep all over.

Also, where the Goals reference used to say
  Implemented by MinimalCover
...with this change it says
  Implemented by pants.backend.core.tasks.minimal_cover.MinimalCover

Testing Done:
./build-support/bin/publish_docs.sh -o

./pants tests/python/pants_test:all

Bugs closed: 187

Reviewed at https://rbcommons.com/s/twitter/r/479/
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/