Update

Backend now taking input from website for resident list, rotations, and
CA-year.
OB eligibility is still hard-coded at the moment.
changed all string comparisons with == to equals() as this was causing
problems with the strings from mysql for some reason
Changed some rotations to be FriSat (not just Sat) call eligibile
Experimenting with different methods of finding 'best' schedule.
Currently will keep track of schedules within 1 callfactor from the
minimum that has a smaller variance.  Schedule that is getting printed
is still teh one with teh best call factor though.