don't insist on @manual.builddict; rm it from many places

@manual.builddict is mostly redundant now. So clean clean clean.

Change the BUILD-Dictionary-building logic: document registered things; not just those registered things that were tagged @manual.builddict.

added some docstrings
lambda x : foo x loses foo's docstring, so add a helper func to carry that along

Motivation:

A couple of refactorings ago, we had lots of symbols def'd in BUILD files we didn't want folks to use. "Yeah, you _could_ use JvmTarget for that, but please use java_library instead." We used @manual.builddict to carefully mark those things we wanted to show up in the BUILD Dictionary.

In these enlightened days, we carefully craft our register.py files to specify the symbols we want. Thus, @manual.builddict is mostly a duplication of effort. (It's still useful for methods: most methods shouldn't be used in BUILD files. But a few of them are still around. So, even with this change, we mark those with @manual.builddict)

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

publish_docs.sh and eyeballing

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