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 that gets rid of the fixed list of includes in the .iml mustache template
 and allows you to override it.

Testing Done:
Updated the integration tests and inspected manually.

Reviewed at https://rbcommons.com/s/twitter/r/1023/
Update interpreter_cache.py to support a repo-wide interpreter requirement.

Reviewed at https://rbcommons.com/s/twitter/r/1025/
whitespace.
Merge branch 'master' into thrift-linter-oss
newlines.
revert testprojects.