Greedy/non-greedy minion matching

See https://github.com/saltstack/salt/issues/15673#issuecomment-58235569
for a full discussion of this issue.

Refs #15673
Lint fixes
Fix exception found in integration tests
Fix bug in matcher logic for non-greedy grains matches
Greedy/non-greedy fixes to other matchers

(Yes, I know this needs a massive refactor.)
Typo
Remove debugging
Refactor for some DRY
Lint fixing
OK, that was just embaressing
Merge pull request #16446 from cachedout/issue_15673

Greedy/non-greedy minion matching