Made the segment picking much less awful

Segment picking works successfully, however some issues are still
present when doing full scale tests
Implemented basic scoring,

Tree traversal is still wrong.
There will be another rewrite of Schedule.pick_courses
recursion is really hard