jar_library docstring += dependencies

eagle-eyed J.I. Ioannidis noticed that our 3rdparty JVM docs show jar_library(dependencies=) but the BUILD dictionary doesn't (at least, I think that's what's going on)

until we fix https://github.com/pantsbuild/pants/issues/142, add doc for this param by hand, like an animal

Reviewed at https://rbcommons.com/s/twitter/r/960/
add include-excerpt feature to 'goal markdown'

Extend markdown syntax so that page authors can "include" a snippet from a real source file. Inspired by the way the Pants docs use Spinx's literalinclude http://sphinx-doc.org/markup/code.html#directive-literalinclude .

Added docs for it in src/python/pants/docs/page.rst

Exercise it in examples/src/java/com/pants/examples/hello/main/README.md

Testing Done:
Added test_markdown_to_html.py with a bunch of tests for the "excerpt a few lines" functionality, which has corner cases.

https://travis-ci.org/pantsbuild/pants/builds/33925158

Reviewed at https://rbcommons.com/s/twitter/r/949/
Move the jvm_compile/java IT from unit to IT.

Noticed this one very slow test when running the unit tests via :all which is not dead yet.

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

Bugs closed: 542

Reviewed at https://rbcommons.com/s/twitter/r/970/
Fixup engine test deps.

I was starting to look at coveralls and ran into some missing deps on my chosen victim test target, this fixes the deps up.

Testing Done:
```console
$ PANTS_PY_COVERAGE=1 ./pants goal test tests/python/pants_test/engine
$ PANTS_PY_COVERAGE=1 ./pants goal test tests/python/pants_test/engine:test_engine
$ PANTS_PY_COVERAGE=1 ./pants goal test tests/python/pants_test/engine:test_round_engine
$ COVERALLS_REPO_TOKEN=XYZ coveralls
```

https://coveralls.io/jobs/2668487

CI went green here: https://travis-ci.org/pantsbuild/pants/builds/34040483

Bugs closed: 369, 540

Reviewed at https://rbcommons.com/s/twitter/r/968/
Add a whitelist to jvm dependency analyzer

The whitelist allows big repos to reduce dependency issues while stopping any new from being introduced. You can whitelist the projects that currently have issues and make the dependency checks fatal. All projects with current issues will still be able to build but new issues will result in breaking builds.

Also it seems like the direct dependency check would always fatal if set to fatal, fixed that.

Testing Done:
Added two integration tests.

Reviewed at https://rbcommons.com/s/twitter/r/888/
Fixed source roots in project info for IntelliJ plugin in case of ScalaLibrary with java_sources

Testing Done:
CI is passing.

Reviewed at https://rbcommons.com/s/twitter/r/955/
Fix the --ivy-report option and add integration test

I inadvertently broke this back at https://rbcommons.com/s/twitter/r/941/ by  removing the override from pants.ini
I went back and audited other bootstrap-tools references and made them absolute address specs and made sure they were surrounded in '[]'

Testing Done:
CI passed, invoking with --ivy-report manually from the command line no long throws an exception and creates a report.

Bugs closed: 545

Reviewed at https://rbcommons.com/s/twitter/r/976/
wip
Merge branch 'areitz/add_publish_plugins' of github.com:pantsbuild/pants into areitz/add_publish_plugins