collections: Move push/pop to MutableSeq

Implement for Vec, DList, RingBuf. Add MutableSeq to the prelude.

Since the collections traits are in the prelude most consumers of
these methods will continue to work without change.

[breaking-change]
collections: Deprecate push_back/pop_back
Convert some push_back users to push
collections: Move push/pop docs to MutableSeq
vim: Add MutableSeq
collections: Make push_back/pop_back default methods
collections: Implement Deque on Vec, deprecate shift/unshift

Use push_front/pop_front instead. In order to make these functions
available everywhere shift/unshift are I also added Deque to the
prelude.

This is a breaking change because adding Deque to the prelude
could cause conflicting methods, but it's unlikely.

[breaking-change]