PriorityMailbox

PR for #299

* Fixes Local deploy bug (`remote=""`)
* Contains `UnboundedPriorityMailbox` - base class for implementing priority mailboxes
* Contains `Mailbox<TSys,TUser>` - base class that can consume different types for message queues
* `MessageQueue` + Semantic markers

The new MessageQueue support should also play well with #301 
It should be fairly easy to copy the priority mailbox and replace the priority queue with a prepend buffer for stashing.
You should lower the timeout. This means the test will always run for at least 1 second, which is quite long.