Adds the Deque interface, and allows LinkedList to implement that interface.

This also changes ConcurrentLinkedQueue to implement the Queue interface, and just throw exceptions for operations which are not currently implemented.
Interfaces and the foundation for a ReentrantLock implementation
Start of an implementation for a ReentrantLock.