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]
I've generally been removing them for strings (and I think @aturon has as well for vectors), so we should probably be consistent at the very least. I understand low level code wanting to avoid elision, but I'm not sure I buy the "without elision it's more clear" case because that's largely the purpose of elision (to move the lifetimes out of the way of what's going on).

For all these higher-level apis for collections I would personally elide as much as possible, but I'm curious what @aturon thinks