Revert "Updated RouteMatcher so routes can be updated and removed while in use."

This reverts commit c1ad319bc454ff699e84c98c1ce20c9ad47a1dfa.
Revert "Updated RouteMatcher so routes can be updated and removed while in use."

This reverts commit 5c24825f79b20a479993247ca79e0912cdc7fce6.
Enhanced RouteMatcher so routes can be updated and removed while the RouteMatcher is in use.
The preexisting API is unchanged. Two new public methods setUpdatable(boolean) and removePattern(pattern, method) were added.
Before updating or removing routes, the setUpdatable(true) should be called and a brief delay should occur to allow any in progress
route matching to complete. The setUpdatable method adds try/finally and ReenetrantReadWrite.ReadLock lock/unlock overhead to all route
matching until setUpdatable(false) is called. If the setUpdatable(true) is not called RouteMatcher updates and remove will operate,
however, NullPointerExceptions or ConcurrentModificationException will occur if existing routes are being iterated.
Comprehensive tests including concurrency tests were added to validate the issue before the changes and validate proper operation after
the changes.

If you deem these enhancements too substantial, I recommend adding an interface and changing the name of this class to UpdatableRouteMatcher
so that both RouteMatcher features are available for users needs. Searching the Google vertx group revealed at least three separate inquires
about route updates or removals from in use RouteMatchers.

Signed-off-by: tcollinsworth <tcollinsworth@axeda.com>