Add some functions and instances to BQueue
These functions were missing from BQueue.
I noticed you left out the Monoid instance. However, the way you've defined Semigroup, the monoid identity laws hold in addition to the Semigroup laws -
mempty <> q = q
q <> mempty = q