FlightPath 6.x-6.16

Referenced project: 
Release version: 
Release type: 
Bug fixes and new features
Release notes: 

Fixed by in system.module, where when we load courses and save to our course cache file, we were not excluding the excluded courses.
This was causing a bug in certain situations.

Added code to FlightPath object's function to load entire course catalog-- it was included *excluded* courses by default, which was throwing
off the subject select menu in the Courses Added by Advisor group.

Modified system.install to include more indexes on courses and draft_courses table.

Modified Audit module to have new hooks which allow the module developer to add to the audit screen custom calculations and approvals.

Changed it so the "public files" screen only shows one icon for a link to a file.

Made a change to engagements module, when checking for all SMS messages. Instead of checking for NOW - 1 DAY, it only checks
for NOW - 3 HOURS. For most of the time, this means it will only check for *today's* messages, except around midnight, where it will
get the previous day's as well. The aim is to retrieve less data, to lighten the amount of processing being done.

Also made it so that we will not run the check for SMS messages (which simply refreshes delivery status, price, etc) more than
once every 30 minutes. This is also meant to lighten the amount of processing as well as how often we are contacting the signalwire API.

Added hook_...validate() functions to admin copy degree and admin duplicate year forms, so it won't mess up
other modules.

Small tweak to system.js, so that the "large" dialog resizes better on a medium-sized tablets.

Fixed bug where dialogs were not closing after save (javascript had been disabled).