fix signature in 'goal targets' and BUILD dictionary
Review Request #1253 - Created Oct. 30, 2014 and submitted
We construct the arg signature for Targets by walking up the class inheritance chain, accumulating info. But if more than one class in the chain mentions a param, then... we were showing it more than once in the arg signature, whoops. This had other side effects: we doc'd some params we meant to hide.
With this change, the Target-class-walking code got big enough such that I separated it out into its own function.