Added math functions
Added permutation to math
Added comments
Updated sheet (no longer documenting all algorithms, only useful ones)
Performance improvements to sieve
Merge remote-tracking branch 'upstream/master'
Clean and reorganize code

Create another file, strings.cpp, to hold all the string-related
functions.
Vastly improve tokenize

Although it takes longer to type, this can now be used to parse
arbitrary strings with arbitrary dividers.
Fixup macros
Rename print_one to print

Faster to type, donchaknow.
Add a simple vector comprehension function

Basically it takes a function pointer and operates on a vector,
returning a new vector.