Refactored and made many changes to improve user experience ahead of alpha release. Also, refactored for dynamic testing so we can use valgrind. Finally, fixed some build issues.