Exercise System Overhaul

Overhaul to the exercise system to allow presentation of data trees in a simple manner.
This is for types, not names, so {Object.<Integer, Integer, Integer>}