Specifying unprotected URLs is now possible again

Unprotected URLs are added to the array of protected URLs and have their 'protected' attribute set to false. Protected URLs are marked as true.
Support for more advanced URL pattern matching definitions

Wildcards are now supported.
Each URL pattern can be marked as protected or not.
A default protection level can now be configured if a matching pattern is not found for a given URL.
Also moved the path definitions for redirects to the siteminder section of the configuration. This makes more sense currently as the redirect are a SiteMinder specific configuration.
Add support for path segment filters
Refactoring

Rename _isProtected to _getPathFilter
Linting
Moved path filter logic into a separate module
Refactor path filter logic
Add Sinon package
Config class for loading and exposing configuration
Objects for encapsulating config sections
Restructured the config.json and supporting code

Proxy, SiteMinder and up stream application configurations are all grouped logically.
There are now classes that wrap the configuration that should make it easier if restructuring is required again in the future due to better encapsulation.
Integration tests now work with the config changes
Renamed upstreamApp.url to .proxy_pass to more closely follow convention
Cli now updates to match new config layout
Added logging
Remove the current session from the request object when it ends