Rewrite Evaluation Role model

Evaluation objects now declare which roles their object *could* have.
The Role classes are concerned with whether or not they apply to any given object.