added dequeue ADT, implementations, and tests