Added modules

Modules have been created and given basic functionality, including markdown support, module creation, removal and update mechanisms and dynamic reloads.

Modules may not be fully optimized at the time and currently are only supported for users with the role of teacher.  They are currently used as a proof-of-concept and will me improved upon once other proof-of-concepts are ready.