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 to `break;`

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 a event dispatch you can prevent rewrite conflicts and module dependencies if multiple modules want to act on it.