math: swap vector operator^ and operator&.

Now it makes more sense.
operator^ is cross because a^a is 0
operator& is dot because a&a is |a|^2