Implemented support for queueception.

There are scenarios where you'd like to call model methods that are
using either of the queue methods from within a queue. This would
cause a dead lock since both are executing on the same queue.

The queue check have been implemented to prevent dead locks, queues
within queues have no effect.
Implemented handling of nested transactions.