Deque is now based on container/list, OO-style

No more Nodes/Elements in user code. `last` pointer could support
access caching in various internal access scenarios.