[BACKLOG-1498] Refactor. Add utility methods in model annotation definition

@lucboudreau @bytekast 
I'm with Luc.  I don't like any isMeasure, etc type methods.  It severely restricts flexibility and extensibility in the future.  We should try and delegate any operations that need to know the type to the type itself.