BUILD Dictionary vs factory functions: doc the class, not the factory

Wondering why the docs for 'bundle' say 'Return a factory method that can
create bundles rooted at the parse context path.' ? This is why.

This change...
introduces another @manaul.builddict() param, factory. The builddict
goal, if it sees a symbol tagged @manual.builddict(factory=True), hopes
the factory is a class method and doc's the attached class instead of
the factory function itself.

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

Bugs closed: 580

Reviewed at https://rbcommons.com/s/twitter/r/1126/
Sync of https://github.com/pantsbuild/pants/commit/23982cc23bc0d446da88c1753c57410194c21e0b