Simplify build dict/reference information extraction.
Review Request #3301 - Created Jan. 5, 2016 and submitted
Previously we had various non-standard ways of providing
BUILD file objects and context-aware object factories: Some
were objects with __call__ methods, some were functions, some
were the results of currying the context arg.
All this made it difficult to introspect on these to identify
the args and docstrings used to generate the build dictionary.
It also required various manual builddict annotations that it
would be better to avoid.
This change standardizes how these objects are provided, and makes
corresponding changes to the info extracters to take advantage
It also removes the old source_root BUILD file directive, as those are
no longer supported.
A future change will use this to rewrite the build dictionary/reference
page generator, so we can get rid of reflect.py.
CI passes: https://travis-ci.org/pantsbuild/pants/builds/100417620
Address some code review comments.
In particular, make the expand all/collapse all links more prominent,
and expand all automatically when the user hits ctrl-F (cmd-F on OSX)
in order to search on the page.
Revision 3 (+1003 -321)