Rewrite allocator as an abstract base.

Also, add a new_allocator, which performs allocation
using new, delete.
Implement generic construct and destroy.
Fold new_allocator into allocator.

There's no reason to have 2 classes.
Begin work on the vector class.
Declare the vector constructor explicit.
Defined more structure for the vector class.
Made changes to bring the style more in line with the rest of the project.
Remove the explicit origin namespace declaration.
Made more changes to bring the vector class more inline with the rest of the project.
Corrected a comment.
Worked on function declarations in vector.hpp.