doc: top page linked to 404/broken pages. so remove those links

Index had links to BUILD dictionary entries, but nothing else.
Module Index is 404.
Search page is empty

Reviewed at https://rbcommons.com/s/twitter/r/1020/
Added unit tests for registering a source root path with no targets

Testing Done:
Added a unit test requested by Patrick.   Passed CI @ https://travis-ci.org/pantsbuild/pants/builds/35208443

Bugs closed: 573

Reviewed at https://rbcommons.com/s/twitter/r/1027/
'goal builddict' Target classes "inherit" docstrings, signatures

Nowadays, our BUILD target implementations use class inheritance + some constructor idioms. But the BUILD Dictionary hasn't kept up. Thus, we have boilerplate docstrings and documented signatures like android_binary(build_type=None, *args, **kwargs)

This change...

Special-cases target handling in src/python/pants/backend/core/tasks/builddictionary.py to go up the inheritence tree, pull apart and re-assemble signatures and docstrings. Also, special-cases leaving out implementation-params we don't want in the user-facing doc (address, build_graph, payload). It doesn't have a general mechanism for leaving stuff out, though. E.g., python_binary's entry thinks it has a sources param (inherited from PythonTarget); mitigated by having a docstring for it saying "overridden: use source instead".

Removes many many redundant docstring fragments. My search wasn't scientific. Probably other removal-worthy pieces lurk.

Adds some docstrings. E.g. python_binary's "sources: overridden". Move some docstrings to superclass for easier inheriting.

Testing Done:
https://travis-ci.org/pantsbuild/pants/builds/35162328

Reviewed at https://rbcommons.com/s/twitter/r/1018/
Changed publish integration tests to use testprojects/*
Copied the examples required by the test to testprojects so they can be changed independently of examples without making those more convoluted.

Testing Done:
ci.sh

Reviewed at https://rbcommons.com/s/twitter/r/1026/
One publish/push db file per artifact

In order to reduce contention around publish/push db files this change splits up the repo wide db into one per artifact.

Reviewed at https://rbcommons.com/s/twitter/r/994/
Make a better error message when os.symlink fails during bundle.

Reviewed at https://rbcommons.com/s/twitter/r/1037/
Make SourceRoot fundamentally understand a rel_path.

Add a factory for constructing a SourceRoot from a ParseContext
as a secondary means of creation and wire this up to core's
regiaster.py.  Simplify a test as a result.

 src/python/pants/backend/core/register.py        |  2 +-
 src/python/pants/base/source_root.py             | 10 ++++++++--
 tests/python/pants_test/base/test_source_root.py |  6 +-----
 3 files changed, 10 insertions(+), 8 deletions(-)

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

Bugs closed: 575

Reviewed at https://rbcommons.com/s/twitter/r/1036/
Added --idea-exclude-maven-target to get exclude IntelliJ from indexing 'target' directories. If you are running maven and pants side by side, these 'target' files contain duplicates of a lot resources and other cruft you don't want to see when you search.

Testing Done:
Manual testing in the square/java repo.

Bugs closed: 570

Reviewed at https://rbcommons.com/s/twitter/r/1017/
Added 'exclude-folders' option in pants.ini, defaulted to excluding a few dirs in .pants.d

This is a followon to https://rbcommons.com/s/twitter/r/1017.

It gets rid of the fixed list of includes in the .iml mustache template
and allows you to override it.