implement a Vector(n) parameterized class, with Shotgun testing

Shotgun Testing is a form of randomized testing similar to that of QuickCheck from
Haskell-land. You can turn it on by setting SHOTGUN_TESTING=<something> and running the
normal rake spec task. It's implementation is trivial -- it's just an `if` block that 
checks to see if the env-var is set, and executes some metaprogrammed tests if it is.

With this, we randomly sample vectors of different order and make property-based assertions
about them. This case is pretty trivial, it's unlikely that a vector of order `n` won't work,
if a vector of any smaller nontrivial order does, but this way we can sample a large space
of vectors and ensure that's true. For more nontrivial classes -- eg, a red-black tree, or
a b-tree, shotgun testing can ensure that there is no order-specific code that would possibly
break if the order changed.