feat(user) The user profile system is ready for production

Few features along with small fixes were done. The first version of the user profile system should be ready to go. ( Some minor changes to the UI must still be done).

- Refactored the code for choosing and cropping profile pictures, and removed unecessary code.
- Commented almost all code regarding profile functionality
- Uploading document and assets:
   1) Users can now upload them either when creating or editing a project.
   2) The way of storing the reference to files in Firebase was changed.
      Instead of indexing files in a node ( e.g in the 'assets' node ), we
      now simply use the time when the file was added as its ID.
- Users can also input a YouTube URL video for a project and it will be shown along with the pictures.
- Users can now delete projects. If a user deletes one that has files uploaded, these files are automatically deleted too.
- Finally implemented 'full' validation when uploading files.
fix(user) fixed some user profiles bugs, changed file upload method for storage

The following fixes were done:
1) Fixed a problem where in user profile picture selection, where the image was attempted to be uploaded even though the user didn't crop the part of the image
2) Fixed a problem with the watchCollection for the projects in ProfileViewCtrl where the assets and file uploads were not listed in real time
3) Added bare bones validation when creating/editing projects in ProjectService.js
4) Changed the way the file upload storage is done in file-upload.php and crop-image.php. Now, these scripts used the PROJECT_ROOT_PATH constant in order to find the correct path to store the file. These means that for these scripts to work that variable, which points to the absolute path of myHonors in the file system, must be defined
5) Fixed a problem where crop-image.php would create use the file's name as the name of the new directory which prevent the image itself from being uploaded.
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