Fix resize bug with vector::assign()

This fixes a bug in which vector::assign() would not resize
itself to accommodate the assigned values. Now the behavior
matches that of std::vector.