Fixed bug where reject, then expect would cause issues if using expectationOrderMatters.

Fixes https://github.com/erikdoe/ocmock/issues/155
Manually added some changes from #151.
Merge branch 'mglidden-fix-reject-export' of github.com:masong/ocmock into masong-mglidden-fix-reject-export
Merge branch 'masong-mglidden-fix-reject-export'
Small clean-ups.
Fix for #153.
Slightly more elegant implementation.

Yes, I know I don't need the struct and can get the same option permutations by using bit masks on the counter with negations, but that's a tad too obscure for my taste.
Slightly more elegant implementation again.