Adding a new Rx BusNotifications API

The first cab of the rank is to expose error streams:
- MessageHasFailedAFirstLevelRetryAttempt
- MessageHasBeenSentToSecondLevelRetries
- MessageSentToErrorQueue
If people want to write unit test for classes that consume this isnt an internal set problematic?