Move modules into their own namespace

*Needs review.* This pull requests moves the modules into a `modules` namespace so the modules and their dependencies have less chance of conflicting with code in core. It also renames and cleans up some module names.