Auto-planning tweaks; pre-req checking bug fix

Add option to auto-plan without starting on new semester; code
refactoring; elective handling; fixed bugs in pre-req checker
Fix conflict

Tested and everything works as before merged.