Add basic structure for the CFSM and update the gitignore to ignore compiled executables.