syntax: Implement recursive sorting of meta items. Closes #607
modernize std::deque

* use a proper exported data type with private fields
* implement core::container::Container
* use the current constructor convention
* use explicit self
* get rid of DVec and the mutable fields

Closes #2343
add a Mutable implementation (clear) to std::deque
deque: rm old return statements
deque: separate the methods that need Copy
deque: avoid Copy in the get function
deque: avoid Copy in peek_{front,back}
deque: avoid Copy in pop_{front,back}
deque: avoid Copy for get
deque: avoid Copy in grow
deque: get rid of Copy requirement

Closes #3748
Modernize bitv mut fields and explicit self
Change SmallBitv to use uint instead of u32
Remove the 'uint_bits' constant in bitv
Favor local closures instead of global functions
Implement Set container on top of a bit vector