Add database index to Subject.course_number.

Enforce uniqueness on the database level, and speed up lookups by
course_number.
Add start time and length to appointment.

Appointments have a start time, and a length in minutes.  This allows us
to check for overlap between appointments.