Reorganize project layout and add test framework (but no tests yet).