make way for ranges
partial ranges
range compiling
fixes to range
fixed build warnings
fixed bad forward in optional
various changes and documentation
finish ranges algorithm
finished algo
update range so it is no longer an iterator
setup algorithm tests
adding local directory to gitignore
update build system