Separate error context for extension

Moving the error and exception context from the handlers to their own methods allows easy context modifications by implementors.

An example of an implementation wishing to modify the context is where environment specific data is added:
```php
<?php
class ErrorHandler extends MonologErrorHandler
{
    protected function getExceptionContext(\Exception $e)
    {
        return ['exception' => $e, 'env' => $_SERVER];
    }
}
````