Update "Pants Development with IntelliJ IDEA".

commit 1a6f730aa05b7135116e06b0a0faea40d4390d6b
Author: John Sirois <jsirois@twitter.com>
Date:   Tue Apr 29 00:21:31 2014 -0600

    Update "Pants Development with IntelliJ IDEA".

    This updates the docs to work with the new setup
    in pantsbuild/pants as well as refreshing the example
    verbage and screen shots to reflect current IntelliJ.

 src/python/pants/docs/images/intellij-configure-tests.png                        | Bin 0 -> 56869 bytes
 src/python/pants/docs/images/intellij-new-project-1.png                          | Bin 217258 -> 54734 bytes
 src/python/pants/docs/images/intellij-new-project-2.png                          | Bin 133244 -> 24893 bytes
 src/python/pants/docs/images/intellij-new-pythonsdk.png                          | Bin 0 -> 62720 bytes
 src/python/pants/docs/images/intellij-project-structure-modules-dependencies.png | Bin 92174 -> 0 bytes
 src/python/pants/docs/images/intellij-project-structure-modules-sources.png      | Bin 107848 -> 49187 bytes
 src/python/pants/docs/images/intellij-project-structure-project.png              | Bin 109356 -> 53495 bytes
 src/python/pants/docs/images/intellij-run.png                                    | Bin 110186 -> 55478 bytes
 src/python/pants/docs/images/intellij-select-venv.png                            | Bin 0 -> 60848 bytes
 src/python/pants/docs/intellij.rst                                               |  60 ++++++++++++++++++++++++++++----------------------
 10 files changed, 34 insertions(+), 26 deletions(-)

Testing Done:
See the test site here: http://pantsbuild.github.io/sirois-pants-ij-test/intellij.html

Note that I had to work the doc publish process a bit - but that is not yet ready for review - I'll keep it seperate.  It gets easier just like IDEA setup does with a venv for the egg deps in conf.py.

Bugs closed: 88

Reviewed at https://rbcommons.com/s/twitter/r/290/
Added protobuf sample

Bugs closed: 91

Reviewed at https://rbcommons.com/s/twitter/r/291/
Debug log the 404s we get back from the restful artifact cache. Simplifies debugging what parts we didn't find in the cache
Invalidate cache if the Java target version or Scala compiler version changes.

Bugs closed: 76

Reviewed at https://rbcommons.com/s/twitter/r/277/
Use requests instead of httplib for restful_artifact_cache.py. Preparation for enabling auth

Reviewed at https://rbcommons.com/s/twitter/r/294
Reimplement pants help.

Previously there were several different help paths,
help messages weren't uniform and in some cases were messy.

This change:

- Gets rid of the 'help' command.
- Gets rid of the 'help' goal.
- Has a single entry point to help message printing.
- Cleans up help messages. For example, we no longer print
  the list of goals unless you explicitly ask for it,
  because that list is long now.

Note that this gets rid of help for non-goal commands, but
those are going away soon anyway.

This change is in preparation for getting us off optparse and
onto our own custom cmd-line parser. We no longer use optparse's
help messages (but we do still use optparse as an implementation
detail for formatting flag help, for now).
Fix build break.
Add proper package handling for antlr4 targets

Testing Done:
I've tested it locally with grammars we use internally. I might add that before this patch, using the antlr4 compiler was broken and couldn't be used at all.

Reviewed at https://rbcommons.com/s/twitter/r/298/
Use absolute path references in the pants bootstrap script.

commit bc3d021389edf69a8db3135a2e9eafe3a2b20055
Author: John Sirois <jsirois@twitter.com>
Date:   Wed Apr 30 17:15:26 2014 -0600

    Use absolute path references in the pants bootstrap script.

    This allows pants to be run from sources in other repos.

 pants | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Testing Done:
I could use some help from Eric.

I concocted this local test though to confirm this works:

In my fork - this branch:
$ git diff
diff --git a/src/python/pants/bin/pants_exe.py b/src/python/pants/bin/pants_exe.py
index 70ade97..b10b832 100644
--- a/src/python/pants/bin/pants_exe.py
+++ b/src/python/pants/bin/pants_exe.py
@@ -165,6 +165,7 @@ def _run():
       NailgunTask.killall(None)

 def main():
+  print('>>> Customized locally in %s, running in %s' % (__file__, os.path.realpath(os.getcwd())))
   try:
     _run()
   except KeyboardInterrupt:

Then in pantsbuild/pants master:
$ PANTS_DEV=1 ~/dev-jsirois-pants/pants goal list | head
*** Running pants in dev mode from /home/jsirois/dev-jsirois-pants/src/python/pants/bin/pants_exe.py ***
>>> Customized locally in /home/jsirois/dev-jsirois-pants/src/python/pants/bin/pants_exe.py, running in /home/jsirois/dev/3rdparty/pantsbuild-pants
3rdparty/BUILD:antlr2
3rdparty/BUILD:antlr3
3rdparty/BUILD:antlr-3.4
3rdparty/BUILD:antlr4
3rdparty/BUILD:checkstyle
3rdparty/BUILD:commons-lang
3rdparty/BUILD:finagle-core
3rdparty/BUILD:finagle-thrift
3rdparty/BUILD:guava

Bugs closed: 94

Reviewed at https://rbcommons.com/s/twitter/r/302/
Added protobuf sample
Added an embedded Type in protobuf example
 added a debug message
Reproduced isue
Hacky Fix for the inner class issue, unfortunately an existing unit test fails.