Cleanup of the project, code design changes and file structure changes, near the the final commit for the 1.0 release