Exercise System Overhaul

Overhaul to the exercise system to allow presentation of data trees in a simple manner.
Make sure to split words with underscore, such as EXERCISE_TYPES and EXAM_PREP.