Significant resturcturing, initial work on an array list data structure. I don't like it as it uses explicit iterators that must be allocated and freed leading to crappy performance. I think I am going to replace explicit iterators with simple pointers. I think this will work and be faster without the penalty of explicity memory allocation at runtime