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]