When there are multiple matches (such as when both an os_family and os
grain both match the minion), the order in which they are processed is
determined by the iteration order of the class' __dict__ attribute.
Since this would be different in different versions of Python, behavior
would be inconsistent depending on which version of Python is being used.
This adds a priority attribute to the Map subclass which, if present,
will re-order the match groups such that the results will be predictable
irrespective of Python version.