fix(user) Changed how the routing for profiles work

For security reasons, the routes for user profiles will no longer contain the student's PID. Instead, a table in Firebase was set up that links every student's FIU username to their PID. Thus, we use that username for the routes, which then allows us to get the PID and then the profile from Firebase.

More specifically, the changes done are:
1) Deleted Sergio's old profile edit controller + view
2) (UserService.js) Added the getPIDFromUsername method which returns a PID given a student's username. ProfileViewCtrl.js, ProjectViewCtrl and and ProfilePictureEditCtrl.js were modified to use this method. Since the PID is obtained asynchronously now, some things in those files had to be rewritten to support that.
3) (config.js) The routes for the profile pages were updated to use the username in the route. Also, the routes were renamed so that they make more sense
fix(user) Cropping functionality now works with big pictures

Using jCrop with very big image files causes a problem. When a big image is uploaded to the browser and a preview is shown so that the user can crop part of it, the preview will be automatically resized by the browser to fit the screen. This throws off the x,y coordinates and the crop section width and height returned by jCrop. To fix this crop-image.php has to be modified so that the width and height ratio between the original image and the resized image in the browser are calculated. Using this, the true x,y coordinates along with the crop section size can be calculated for the original image and it can then be processed correctly.
fix(user) Minor grammatical error
Merge branch 'user_profiles'
fix(user) Addd file validation and size restriction to the profile picture upload form
Merge branch 'user_profiles'