Queue can be used as a deque

For now, the interface is #shift/#unshift/#push/#pop, by analogy with Array.
is associated with stacks, and #push/#pop, which are also commonly associated with
stacks, both work at the end of the queue. #enqueue/#dequeue are still supported.

Closes #118.