PriorityMailbox

* Contains a new generic mailbox base `Mailbox<TSys,TUser>` which can consume different kinds of message queues
* Contains `UnboundedPriorityMailbox` base class that can be used to create custom priority mailboxes
* Contains `MessageQueue` and related semantics

Related to #299 and #301 
The priority queue is now used in a blocking message queue base class.