Configurable Middleware::Logger for StackerBee

When setting up logging to graylog, we wanted to be able write the
entire log message as 1 log event, to make searching easier.

However, the log events were being written in
StackerBee::Middleware::Logger, which wasn't accessible.

This patch makes the Middleware::Logger configurable. If you provide a
different class to the StackerBee::Client, then it will use that class
instead of the default (which is StackerBee::Middleware::Logger)

to override the default, pass the class during initalization:
```
client = StackerBee::Client.new(
  ...
  middleware_logger: Custom::MiddlewareLogger
)
```