Added fork to RequestQueueMonad.
Eliminated some unnecessary constraints in RequestQueue.
Reworked Driver datatype to hide implementation details.

Also re-ordered one of the arguments to make it
easier to use.