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.
should these just all be ReflectedModelConvention<T> -> where T is the model type? seems awefuly repetitive