Rationalize CMakeList files to become more easy include the VM. Also, fixed number of cycles need to execute in main.cpp and main.js. Renamed some files to be more self consistent and added header comments