Dequeue: Adding support for first and last

Currently the double ended queue does not support examining the first
and last elements. This change intends to address these missing
operations.