Handwrote Vector's instance for Functor/Foldable/Traversable.

The {-# Language DeriveFunctor #-} instances are apparently pretty bad
on current GHCs. This has apparently been fixed in HEAD; maybe we should
revert this then.

See http://ghc.haskell.org/trac/ghc/ticket/7436 .
Inline all the instance functions.
Inline `move`.

This is a pretty clear win, too.
Specialize `gravitation`.