allow custom annotations and values to be added to *Helper methods

Allows the user to add a custom Annotations to *Helper methods.

My current use allows me to specify a Factory and the type it should create from the descriptor. This allows me to write zero code per *Helper, and rely on dynamic proxies to intercept calls and do what’s needed.

Currently I only have the return type to go by, but its not always available. Nor when attributes must be accumulated, where the return type is declared is not necessarily where the parent helpers should start accumulating attributes.

Further I hope this lets me callout to child factories to fill in attributes that themselves have builder interfaces and thus factories for.