Removing the required DriverInterface for BlockadeException.

Setting a driver is now optional, which makes throwing an exception much
easier.
Removing driver requirement in CsrfTokenException.
Removing CsrfDriver.
Removing __construct() functions from exceptions.
Fixing BlockadeException::from() to not override defaults.
s/getSupported/supports in resolvers.

This moves the decision making to resolvers instead of
BlockadeExceptionListener.
Updating DenyAccessResolver and adding test case.
Updating RedirectResolver and adding test.
Updating LoggerResolver and adding test.
Fixing how Firewall throws exceptions.