Vector changes

Vector no longer allocates memory on default construct (no idea why I
put off doing this).

Vector now has a Clear() method which keeps its backing store intact but
removes all elements.