TODO

[ ] Finish Documentation
[ ] Simplify PUBLIC and PRIVATE
[ ] Add multiset
[ ] Add multimap
[ ] Upgrade heap to a min-max heap
[ ] Add dispose function
[ ] Serialization
[ ] Iterator based functions (like C++ collections)


MAYBE

[ ] Add conditional code generation based on variadic macros


PLANNED

Before 2.0
    Get Documentation fixed and completed

1.5
    Remove PUBLIC and PRIVATE
    Iterator move and move_to
    LinkedList - Insert/Remove/Append/Prepend/Extract
    from_array - Creates a collection with all the elements in a specified array
    to_array - Creates an array with all the elements inside the collection

1.6
    Add shrink function that shrinks the internal buffer to current count of elements
    Add dispose method to each collection in order to automatically free its data

2.0
    Add multiset, multimap and new heap implementation

2.1
    Adapt multiset, multimap and new heap implementation to the current standards

2.2
    Add serialization functions
        Header:
            %d - Type specifier (LIST = 0, DEQUE = 1, STACK = 2, etc) for quick check
            %llu - How many elements there are
            %d - If data varies in size
            %llu - Data size

2.3
    Iterator functions (functions that operate relative to iterators position) like add or remove ranges

SOMETIME

Add treehashmap
