Feature/custom error reporting

I've had some issues using your library in regards to error_reporting - the notifyOnWarning setting on the EventHandler::start method doesn't give me enough fine control, so I've added an extra filter that can be run on the error and exception handlers. I've then used these to create a filter that lets me filter errors via php's built-in error constants and added a config setting to simplify things a bit.

I've also done a bit of refactoring on the notifyOnWarnings functionality so that it is now handled by an error filter and added a heap of tests for my new filters, any refactoring I did and the error/exception handlers in general.

There's also a setConnection method on the Client, which I'm using to inject a test stub. I've got some plans to use it in future to implement a RabbitMQ message handler, but that isn't covered in this merge request.

Just so you know, this is a superset of the other pull request I have opened.