A scala library with java sources should not trigger the warning 'Missing BUILD dependency' message
In order to avoid incorrect warnings include the java sources in the check
Also added a small project that should not trigger the warning anymore.

Reviewed at https://rbcommons.com/s/twitter/r/435/
Fix the py command and add py in the ci script

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

Local testing

tw-172-25-20-142 pants]$ PANTS_DEV=1 ./pants py --pex src/python/pants:pants
*** Running pants in dev mode from /Users/tdesai/projects/pants/src/python/pants/bin/pants_exe.py ***
Loading pants backends from source
/Users/tdesai/projects/pants src/python/pants:pants
WARNING: Target has multiple python_binary targets!
Wrote /Users/tdesai/projects/pants/dist/src.python.pants.pants.pex

Bugs closed: 179

Reviewed at https://rbcommons.com/s/twitter/r/444/
Fix duplicate detection when target has no sources.

See https://github.com/pantsbuild/pants/issues/176.
fix Python py verbose mode

Testing Done:
https://travis-ci.org/pantsbuild/pants/builds/26632712
[tdesai]PANTS_DEV=1 ./pants py --pex -v src/python/pants/bin:pants
Cleaning up...
Loading pants backends from source
Detected interpreter /usr/bin/python: CPython-2.6.7
Detected interpreter /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7: CPython-2.7.2
Detected interpreter /usr/local/bin/python2.7: CPython-2.7.5
/Users/tdesai/projects/pants src/python/pants/bin:pants
Build operating on targets: PythonBinary(BuildFileAddress(src/python/pants/bin/BUILD, pants))

Reviewed at https://rbcommons.com/s/twitter/r/445/
Add a hook to allow pants customizations to inject backends.

This may be provisional until the backend reorg finalizes, but
for now it assumes the additional backend packages injected
have been arranged to be on the PYTHONPATH by other means.

Testing Done:
$ ./build-support/bin/ci.sh

Bugs closed: 447

Reviewed at https://rbcommons.com/s/twitter/r/447/
Add explicit support for PANTS_DEV mode in wrappers.

This change respects 2 new environment variables for
requirements (WRAPPER_REQUIREMENTS) and sources
(WRAPPER_SRCPATH) that allow for running the pants
bootstrap script in a devlopment mode and using extension
sources in other trees.

Testing Done:
Using this from a wrapper script in our internal pants repo with extension code, but also locally some dummy tests:

$ cat /tmp/requirements.txt
beretta==0.2.5

$ WRAPPER_REQUIREMENTS=/tmp/requirements.txt WRAPPER_SRCPATH=/tmp/notreally PANTS_DEV=1 ./pants
*** Running pants in dev mode from /home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/src/python/pants/bin/pants_exe.py ***
***   with extra requirements: /tmp/requirements.txt ***
***   with extra sources /tmp/notreally ***
Bootstrapping pants_deps with requirements:
  /tmp/requirements.txt
  /home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/3rdparty/python/dev_only_requirements.txt
  /home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/3rdparty/python/requirements.txt
  /home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/3rdparty/python/twitter/commons/requirements.txt
Using /usr/bin/python2.7
New python executable in /home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/build-support/pants_dev_deps.venv/bin/python2.7
Also creating executable in /home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/build-support/pants_dev_deps.venv/bin/python
Installing setuptools, pip...done.
Downloading/unpacking beretta==0.2.5 (from -r /tmp/requirements.txt (line 1))
  Downloading beretta-0.2.5.tar.gz
  Running setup.py (path:/home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/build-support/pants_dev_deps.venv/build/beretta/setup.py) egg_info for package beretta

Downloading/unpacking termformat>=0.1.5 (from beretta==0.2.5->-r /tmp/requirements.txt (line 1))
  Downloading termformat-0.1.5.tar.gz (40kB): 40kB downloaded
  Running setup.py (path:/home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/build-support/pants_dev_deps.venv/build/termformat/setup.py) egg_info for package termformat

Installing collected packages: beretta, termformat
...

Bugs closed: 178

Reviewed at https://rbcommons.com/s/twitter/r/443/
Use standard method dispatch to call baseclass methods.

Testing Done:
$ ./build-support/bin/ci.sh

Bugs closed: 183

Reviewed at https://rbcommons.com/s/twitter/r/448/
sample: java hello world. use resource. change bundled-file example.

We want to demonstrate resources. We want to demonstrate file-bundles. The 'hello world' example was using a bundled file for something you'd more-properly use a resource for. So don't do that.

Instead, load two "greetees". Load one from a bundled file, one from resource.

Testing Done:
$ ./build-support/bin/ci.sh

$ ./pants goal bundle src/java/com/pants/examples/hello/main
$ cd dist/main-bundle/
$ java -jar main-bin.jar

$ ./pants goal run src/scala/com/pants/example/hello/exe

Bugs closed: https://github.com/pantsbuild/pants/issues/110

Reviewed at https://rbcommons.com/s/twitter/r/350/
docs: internals += def'n for "backend", links to couple of mail threads

We keep saying "backend" on the pants-devel mailing list. Maybe we should define it somewhere.

Reviewed at https://rbcommons.com/s/twitter/r/449/
Merge branch 'master' into cache_manager_cleanup