Code cleanup

Cleaned up method docs, added @throws and some missing @params and @return. Removed unnecessary @return

cleaned up logic in the match method. (flase !== isset(.....)) is logically equivalent to "if false not equal to isset failing" other wise expressed as isset === true, or more cleanly just isset

cleaned up several if statements using backwards logic. false === $regex is not standards compliant in any standard. replaced with a standard !$regex or "if regex is false"
:+1: was wondering about this as well but didn't have the time to test yet. Good catch John!