Updated naming conventions and usage of Model.matchconditions decorator

Previously the matchcondition name was inferred from the decorated
method name. This required two methods with a matching name (but
different signatures) for each projection definition. Although this
approach works for a single projection definition, it prevents
customization of projection parameters as the required call to super
becomes ambiguous. This commit fixes the issue by making the intended
method name explicit in the matchconditions decorator.