stabilize more of collections

This stabilizes most of libcollections, carefully avoiding sections of API which are being managed in other PRs. APIs which are not stable are marked explicitly unstable with a reason. Also deprecates the following:

* DList
  * rotate_forward
  * rotate_backward
  * prepend
  * insert_when
  * insert_ordered
  * merge

* VecMap
  * update
  * update_with_key

as such this is a

[breaking-change]
Don't forget, you can have more than one :)

On Tue, Dec 30, 2014 at 5:24 PM, Huon Wilson <notifications@github.com>
wrote:

> In src/libcollections/btree/set.rs
> <https://github.com/rust-lang/rust/pull/20356#discussion-diff-22372376>:
>
> > @@ -448,7 +458,7 @@ impl<T: Ord> Default for BTreeSet<T> {
> >      }
> >  }
> >
> > -#[unstable = "matches collection reform specification, waiting for dust to settle"]
> > +#[stable]
> >  impl<'a, 'b, T: Ord + Clone> Sub<&'b BTreeSet<T>, BTreeSet<T>> for &'a BTreeSet<T> {
>
> Implementing BTreeSet<T> : Sub<BTreeSet<T>, BTreeSet<T>> may force the
> user to clone both sides, if both arguments are needed later.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/rust-lang/rust/pull/20356/files#r22372376>.
>