Add forPathsMatching and forPathsNotMatching

- Wrappers for middlewares that control whether the wrapped middleware
gets called based on either a blacklist or whitelist of urls.