Actually implement division, remainder, and index operators for vectors.

The code for doing this was available through methods, but it's nice to have access to Rust's operators as well. These operators join add, subtract, multiply, and negate, which are already implemented.

The `transmute` syntax is identical to the content of the `i()` method implementation, but since we need to return a borrowed reference with a lifetime we can't just use `&self.i(*index)` without changing that method to use a lifetime in turn.