Fixed memory leak in MessageBus for scaleout

- Whenever we'd get a message we'd call save on the message which would force the message into the HasSubscription state despite its current state

#2070
Added facts to verify state changes correctly

- Had to modify existing tests to handle the new topic states correctly.