SSP-2955 Redesign Evaluated Success Indicator display for accessibility
SSP-2957 Configurable Success Indicator evaluation display names
SSP-2957 Add missing changeset from previous commit
SSP-2956 Dynamic success indicator evaluation names/colors in PDF

This is for the Coaching History Report. The change also retires
icon representation of evaluations.
SSP-2639 Refactor previous fix to eliminate transient state

The previous fix for this issue introduced more component instance
state (previousSemesterPanel). This did address the original bug
report, but exacerbated the underlying technical flaw, which was
keeping what really should be transient function arguments as
component instance state. (It's semantically incorrect, and people
forget to clean it up (which is exactly what happened here).)

So this fix eliminates both that new state and two previous
component instance-state fields: droppedRecord and droppedFromStore.
Now the 'drop spec', i.e. the salient fields from the actual
'drop' event, are packaged up into a 'courseMoveSpec' object which
is passed around as a function argument. This required some
unfortunate boilerplate to ensure that argument can be curried
across asynchronous AJAX calls. But overall I think the resulting
implementation is much less fragile.

This does not eliminate excessive state keeping altogether. E.g.
minHrs and maxHrs should not be instance fields. But that can
wait for another time.

Conflicts:
	src/main/webapp/app/controller/tool/map/SemesterPanelViewController.js
SSP-2638 Fix MAP validation on course delete and move cancel
SSP-2962 Limit success indicator repetition in Coaching History
SSP-2962 Fix incorrect MAP validation failure response dispatch
SSP-2963 Fix SQLServer 'from' substitution for pagination. Again.
SSP-2960 Display SAP code description in Main FA tab

Also eliminates a few unnecessary SAP reference data loads.
SSP-2960 Display SAP code name in Main FA tab
SSP-2961 Non-wrapping field values in Main Dashboard
NOJIRA comment out code in test classes that is causing compilation failure
SSP-2596: Add config to specify who should get EAR reminder emails, coaches or EAC.
SSP-2960 Fix incorrect synchronous SapStaus function call name
SSP-2638 Fix several issues related to plan edit validation and 'undo'

Mostly has to do with a) re-running validations after a course edit
errors out or is canceled out of and b) ensuring that original
UI state is restored as much as possible when a course edit errors
out or is canceled out of.

Specific issues addressed:

 - A requiring course would be incorrectly marked as invalid after
   canceling a move of its pre-required course to a later term
 - Validation API relied on client to clear out previous validation
   state
 - Faults from POSTs to /validate API would leave the UI in an
   unpredictable state, e.g. previous validations would be lost, edits
   would appear to 'take' but would not be preserved on save
 - Canceling a course move would mark plan as dirty
 - Canceling a course move would result in unpredictable course ordering
   in source term
 - Fault during course delete validation would mark a plan as dirty
 - Reordering an un-offered course in its already planned term would
   re-prompt the user with the validation failure messages.

Faults during course move validation will still (incorrectly) mark a
plan as dirty in some cases, but this patch makes a best effort at
restoring that course its previous location relative to other planned
courses in its source term.
SSP-2912 Include historical terms in person reg status API response
SSP-2939 Fix Excessive API calls from Main tool Dashboard
SSP-2967 Render completion rate with % suffix
SSP-2939 Eliminate duplicate person API call

Also fixes certain cases of infinite loading spinner on missing non-essential data.