Fix for #1192 - Support customizing reflected model through attributes

This adds support for attributes which interact with reflected model.
These conventions are applied after all of our built-in constructs so that
you can see and modify the results.
The *changed* code is consistent with what we did in AD and PD. Best thing to do for now is make them consistent and do a design pass in the future to review the pattern. IMO let's not make this PR about the pattern for descriptors.