Add possibility for custom notification handling

This is an idea for handling event codes differently than the default way.

Scenario 1:
I want to act on the event code PENDING which is handled by `break;` now.

Scenario 2:
I want to handle the event code REFUND_WITH_DATA which is not handled at all and would default to
```php
//@todo fix me cancel && error here
$order->getPayment()->getMethodInstance()->writeLog('notification event not supported!');
break;
```

Adding the event listener and giving the opportunity to cancel further processing by passing 'handled' to the response data gives developers room for customization.

By using an event dispatch you can prevent rewrite conflicts and module dependencies if multiple modules want to extend on it.