Adding a new Rx BusNotifications API

The first cab of the rank is to expose error streams:
- MessageHasFailedAFirstLevelRetryAttempt
- MessageHasBeenSentToSecondLevelRetries
- MessageSentToErrorQueue
A hard lock on every write? is this a good idea?