Included support for CMake and fixed src directory.
Fixed plenty of code formatting inconsistencies.
Converted all existing raw AST pointers to unique_ptrs. This fixes a slew of memory leaks.