Restructure repository folder structure

Places modules into better defined folders, representing the layers of the application as defined in the SMG