Update module-level documentation

Add high-level documentation explaining the layout of the codebase.
Merge pull request #879 from Ichimonji10/docs

Update module-level documentation