Reorganized and cleaned up the project

Moved all files to appropriate modules. Moved the aggregating headers
to src folder. Fixed some documentation and code style issues along the
way.