Fix #940: Regression: invalid Locale or Output Type names in routes trigger premature exceptions
Fix #941: Regression: Locale and Request Method are not restored to previous value after a matching route's callback(s) caused the match to ultimately fail
Close #943: Restore state right after a routing callback returned false from onMatched() rather than at the end of the callback execution loop
Close #944: Explicitly call onNotMatched() method on a routing callback if its onMatched() method returned false