cnc: add module deucecnc, and move all stuff into it; add more unittests