Use an absolute path for sourcing set_archflags.sh.

This was breaking wrapping usages from foreign repos.

Testing Done:
The error manifested like so in a Twitter internal repo, note the 1st line:
jsirois@gill ~/dev/twitter/pants_internal (jsirois/oss_pants/upgrade_scala_library_dep_injection_fix) $ PANTS_DEV=1 ./pants
/home/jsirois/.pants.dev/os_pants/build-support/pants_venv: line 5: build-support/set_archflags.sh: No such file or directory
*** Running pants in dev mode from /home/jsirois/.pants.dev/os_pants/src/python/pants/bin/pants_exe.py ***
***   with extra requirements: /home/jsirois/dev/twitter/pants_internal/3rdparty/python/requirements.txt ***
***   with extra sources /home/jsirois/dev/twitter/pants_internal/src/python ***

OSS pants bootstrapping still works.
$ git clean -fdx build-support
$ PANTS_DEV=1 ./pants
$ PANTS_DEV=1 ./pants
*** Running pants in dev mode from /home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/src/python/pants/bin/pants_exe.py ***
...

Bugs closed: 291

Reviewed at https://rbcommons.com/s/twitter/r/604/
Clean up some python cruft under goal.

We don't use the python_root target paradigm, nor the
setup_python_environment task.
Refactored binary_util methods to be wrapped inside BinaryUtil object.

BinaryUtil can be initialized with bootstrap_dir, baseurls, and timeout; missing parameters are loaded from config.
See John's comment on https://rbcommons.com/s/twitter/r/556 .

Testing Done:
Existing test cases didn't break.

Reviewed at https://rbcommons.com/s/twitter/r/605/
use JvmTask.classpath to get classpath in JvmdocGen

Testing Done:
same (modulo version skew) change hacked into my twitter internal pants works for me

./build-support/bin/ci.sh underway

Reviewed at https://rbcommons.com/s/twitter/r/599/
Kill support for legacy scrooge.

This change punts on cleaning up the ScroogeGen task
which now can be simplified a good deal.  The intent is
just to remove the possibility of folks binding to this capability
going forward.

Testing Done:
$ PANTS_DEV=1 ./pants goal test {src,tests}/{java,scala}::
$ PANTS_DEV=1 ./pants goal test tests/python/pants_test/:all
$ PANTS_DEV=1 ./pants goal test tests/python/pants_test/:integration

Bugs closed: 288, 289

Reviewed at https://rbcommons.com/s/twitter/r/603/
Raise an exception when the package is missing a template

pkgutils.get_data returns None when it fails to find the requested file. Prior to this change, we would just pass the None on to pystache to render and it would give a confusing message about not being able to find "none_type.mustache". This change checks for the None and raises an Error with the name of the missing template.

I didn't see an obvious existing Error type to use, so I created a new one. Let me know if there's an existing Error I should be using instead.

Testing Done:
ran unittests.

Reviewed at https://rbcommons.com/s/twitter/r/608/
Update docstring of AndroidBinary target

tested at  https://travis-ci.org/pantsbuild/pants/builds/28688902

reviewed at https://rbcommons.com/s/twitter/r/610/
Improve inheritance and kwargs passing between android_binary and target.

Remove unused params from AndroidBinary __init__, as referencing them
would prevent those kwargs from being passed in the super() call.

Referenced from lahosken @ https://rbcommons.com/s/twitter/r/610

This patch is dependent on that CR, review #610

Testing Done:
ci.sh passed.
Travis passed: https://travis-ci.org/pantsbuild/pants/builds/28694692

Reviewed at https://rbcommons.com/s/twitter/r/614/
start doc'ing py goals. set up python_old for old UI, start refactoring python-readme.

Python supports 'goal test' and 'goal binary' now. python-readme should reflect that.
This change doesn't 100% fix that; but it's a step in the right direction.

Twitter's biggest python-Pants codebase is on an old Pants.
(also, a couple of open-source Pants-built repos)
This makes me hesitate to blow away the old doc just yet.

This change...

  copies python-readme to python_old.

  adds paragraph at top of python-readme "Are your Pants old? Then see python_old"

  rm'd some historical python-readme parts now less-obsoletely doc'd on other pages

  mv'd some PEX-design-background material onto a new page pex_design.
  (It might make more sense for me to mv this to twitter/commons?
   I dunno. If you tell me to move it to twitter/commons, I will.)

  mv'd some python-readme parts to other pages

  Added a couple of TODO github issue links for biggish problems noticed
  along the way.

I'm not trying to get python-readme perfect in this pass.
This is mostly moving material around.

That said, a couple of examples now use 'goal'. YAY

Testing Done:
./build-support/bin/publish_docs.sh # stuff looks OK

./build-support/bin/ci.sh # docstring changes apparently nonfatal

Bugs closed: 258

Reviewed at https://rbcommons.com/s/twitter/r/594/
Install android_binary and android_resource target. Add example android app

Added pants.backend.codegen.targets.android_resources. Installed it into pants.
Added a BUILD file to src/android/example/res to make it a target  and added it to the source_root.
Updated any tests that required it.

Addresses (and hopefully fixes) issue opened last review. Testing Done section updated with this change.

Testing Done:
ci.sh success: http://pastebin.com/fWF7Uu7W

travis success: https://travis-ci.org/pantsbuild/pants/builds/28652096

Reviewed at https://rbcommons.com/s/twitter/r/591/