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}
Remove use of capture clause #4965
deque: avoid Copy for get
deque: avoid Copy in grow
deque: get rid of Copy requirement

Closes #3748
Removed more capture claueses.
auto merge of #4995 : sethpink/rust/obsolete-capture-clause, r=graydon

Remove capture clause use. I think I got them all.
auto merge of #4978 : z0w0/rust/issue-607, r=graydon
auto merge of #4993 : thestinger/rust/deque, r=graydon

Closes #3748 and #2343.
libsyntax: convert interner into a modern struct
Change functions from taking ~str to taking &str
syntax: fix the indentation of a function
libsyntax: make enum variants take refs