Initial commit of CKEditor file browser / learning object repository work
Updates file browser to handle file uploading, adds sql, learning object crud
Ongoing work on file browser
File browser now has a much nicer looking grid view, and handles thumbnail generation (for images)
Moves file browser & serve-learning-object to api, updates load_rte to use different URL for files vs. images, updates learning object class to include mime_type and include it in fetchAllRecordsByProxyID as an optional parameter.
Enables send to server button functionality from CKEditor, moves javascript & CSS into external files. Changes API ID parameter to just "id"
Adds lazy-loading in table view and tile view.
Adds drag & drop uploads
Brings feature-lor inline with develop
Adds alternative upload functionality for browsers that need it
Adds mime type verification, error messaging, updates upload modal to show spinner while uploading.
Adds graphics, sql updates
Adds thumbnail handling for other file types, fixes bug where grid view was being loaded when it wasn't currently displayed. Fixes bug where missing file could cause php error.
Sets default length of data tables to 25, adds check for learning object repository directory to installer.
Added an blanket .gitignore file in the www-root/core/storage/lor directory used to store user files so that the directory can be added to git.
Added in success messages when uploading files, and stopped the error message from flashing for a second when a file was successfully uploaded through a fairly minor change to the logic in the javascript.
Moved the valid mimetypes array to the language file, and created a default as well as a "lor" version of the array so they can be modified independently and used in different places (in the case of the "default" array).
Stopped content from being set as empty when all of it was tags, despite it all being allowed tags when submitting on the course and event content pages.
Merge branch 'develop' into feature-lor

* develop:
  Added a check to the clerkship core rotation event edit interface to ensure that only active regions are displayed in the drop down.
  Resolved the issue of having multiple images appear (when available) for the other contact types than the director on the course website index page.
  Missed the other two types of contacts when fixing how photos displayed on course websites, so I have now applied that change to all contacts on the home page of course websites.
  Changed the course contacts page to only display one or the other of the official of uploaded photos for a user, depending on what is available.
  Gave the img elements holding the course contacts on course communities an explicit width and height, as IE8 ignores the height and width attributes.
  Fixed the permission check used to verify a user has administrative rights for an evaluation, which is how we ensure staff admins should be able to review completed evaluations they aren't associated with.
  Updates course enrolment search to include emaill and student number as search criteria. Refs #520
  Fixed the quiz api used on the index where all available to edit are listed. Now only medtech->admin users will see all of the quizzes, as they are the only group/role that does not have to be a quiz owner to edit a quiz. Also, removed the uninitialized sort column and order being passed into the fetchAll method of the Quiz model.
  Adds missing course organisation_id
  Fixes bug where course CSV course codes were ignored in ldap sync
  Added in logic to allow users with administrator access to edit the content of courses or events to still be able to view the links associated with them, by duplicating the logic as used in the file serving api for both types of content.
  Changes to how course level objective tagging works. Now any level of parent can be mapped on the "details" page of the admin courses module, and all of the bottom level children will be available to be mapped to events, or have their text edited on the course content page.
  Changed the name format outputted on the course content admin page, so that all of the course contacts names show up in the same format (first space last, rather than last comma first).
  Fix for subscriptions to calendars for non-students. Previously the api would try to use course-specific filtering no matter what when non-students would subscribe to a calendar, so I've changed that to now pull the old/default filters if no specific course id is provided.
  Added the group (cohort or course list) id to the export CSV functionality as linked on the assessment grading page to ensure that the export works properly.
  Ref #516, updates the variable used to recur the Required Prep field.
Merge pull request #514 from EntradaProject/feature-lor

Reviewed this feature branch, and resolved a few fairly minor issues I found, and everything looks good otherwise- so here's the CKEditor file browser/Learning Object Repository functionality in its first iteration.