option: Title-case `Some` and `None` in docs and fail messages

For accuracy, say 'get_ref None' instead of 'get_ref none', and so on.
option: Add .chain_mut_ref()

.chain_mut_ref() is the mutable alternative to .chain_ref().

A use case example for this method is extraction of an optional value
from an Option<Container> value.
serialize: implement Encodable for DList

This impl was missing for unknown reason.
dlist: Simplify match clauses to use Option methods

Make the core Deque implementation a bit simpler by using Option methods
when we simply map on a Some value, and deduplicate some common lines.
dlist: Factor out pop and push operations by list node

Factor out internal methods for pop/push ~Node<T>, This allows moving
nodes instead of destructuring and allocating new.

Make use of this in .merge() so that it requires no allocations when
merging two DList.
dlist: Add .rotate_to_front(), .rotate_to_back()

Add methods to move back element to front or front element to back,
without reallocating nodes.
dlist: Add bench test for rotate_to_{front, back}
dlist: Remove bench tests for vec

These tests for ~[] performance don't really belong here, they were for
comparison.
dlist: Use Ord for .insert_ordered()

We don't need TotalOrd for ordered insertion, just the normal sort order
Ord.
dlist: Remove extraneous unwrap in .pop_back_node()
Eliminated SmallIntSet

SmallIntSet is equivalent to BitvSet but with 8 times the memory
overhead. There's no reason for it to exist.
Exposed previously hidden 'use' statements in the tutorial's sample code.
Note incompatibility with global-whitespace-mode.

See #3994.
dlist: Fix .peek_next() w.r.t double ended iterators

.peek_next() needs to check the element counter just like the .next()
and .next_back() iterators do.

Also clarify .insert_next() doc w.r.t double ended iteration.
dlist: Rename rotate methods to .rotate_forward() and .rotate_backward()
rt: Fix child-iteration bug in crate map.
std: add #[cfg(test)] reference to extra so we can benchmark libstd.
std: add preliminary str benchmark.
std: add #[bench] benchmarks for global and local heaps.
std: add #[bench] benchmarks for rand.