Also changed a few things like destroy tanking a double pointer so that
is more secure and making sure before hand that capacity is not that
ridiculous of a size, still, shit can get pass but generally is fine
Decided that push front and insert will be O(n) because it moves
everything one space ahead, could do something like a buffer ring but i
think is too much, maybe in the future i do change it but i'm not sure,
for now it just moves everything, also, i havne't tested them and i'm
not sure the for loop meant for moving everything actually works.
So, added private functions made to grow and shrink the array in a
multiple of 2, 2 as a factro is fine, at least that is Rust does it that
way. Also changed the design to ADT, forgot i liked that, probably will
be changing that to apply also to my Arena implementation, i will see if
fits --probably--.