Improved check-range semantics and updated readme.

Check and phase ranges now do greedy, inclusive range matching by
default and don't have any special cases. Exact matches are exact;
ranges include every part of every check they touch unless specifically
restricted by a letter on the start or end point(s). Details in the
readme diff.

Falling back to regex-matching on the repo in more cases has reduced
performance somewhat, but in this specific case it may be possible to
optimize the difference out.