Start big code cleanup and refactoring
Update and big cleanup of documentation
Update Makefile to build doc and push to gh-pages
Update Makefile to build doc and push to gh-pages