Fixed an issue with ambiguous Unsubscribe and introduced Consume
After my previous pull request introduced an Unsubscribe that was message-less it breaks the reflection that looks for the Unsubscribe method, there's multiple now so it gets confused.
To that end I've fixed up the reflection so it finds the correct one.
I also had the need to only process the message once by one subscriber where there could be multiple subscribers listening for the message. To resolve this I introduced a Consume flag into ITinyMessage and also fixed up some of the base/abstract classes that depend on it.
I'm not too sure on changing ITinyMessage directly, it could break anything that inherits from it. Generally I've always based my messages on TinyMessageBase but open to solutions around this, not sure, another interface to look for?