App module tests and validation

- Added validation and tests for the app module
- Added app administrator functionality
- Added utilities for easily setting up add administrators for tests
`timetable` should probably go in a constants file