Initial commit of many files and cmake stuff.