Exclude all problematic pseudo-classes from rule-merging

Here's the patch to exclude all seven problematic pseudo-classes from rule-merging as discussed in #390.
> Shall we rather just check for :dir in the pattern?

Yeah, might be more proof to future changes. Maybe something like `/:dir\(.+\)/` will do better.

> Checking for :first may also match :first-child which is mergeable.

Good point. I think I'd use something like `/:first(?!-)/` to avoid this, if you have a better suggestion, go ahead. I'm not 100% sure if this is even an issue, or if the class detection is good enough to avoid such a mismatch.