Save selected courses in User.pendingScheduleData

Retrieve on load of /schedule
Now generate schedules using a tree
Fixed tree generation bugs
Limit schedule generation to reasonable sizes temporarily