Reorganized User Sub Typing

Created Student/Professor/Administrator models and integrated them with
the User model.