Prof pages

Ready for a review, some UI elements may be changed but the core seems good. 

Closes #142
I feel like `get_departments_taught` should return a list of departments, rather than a string of this. This will be more reusable later on when we find that we need these departments elsewhere. Also, it'd be more consistent with the return types of the other methods.

We could also name it:
`prof_departments_string=", ".join(prof.get_departments_taught())`