Divides code into smaller files
Functions need to be bound to their object when invoked in $.defer
Adds the next term's worth of halls
Moved hall types into another file
Dynamic loading of hall types. Too much data.

 - Need to only load things as they're needed
 - Work out what's cacheable and where to cache it