CLC-2442 Handle primary section enrollments with same course catalog ID
Many classes were not being shown correctly or were being skipped in GPA calculation. We're limited by source data issues, but this commit should fix the problems students have reported. Includes a couple of other fixes as well:
- Don't unnecessarily stringify waitlist position & section enrollment limit.
- Don't count unrecognized/unavailable transcript grades as an "A" letter grade in the GPA Calculator.
- Don't do the intensive JavaScript work to set up an Academics semester page unless the browser is actually going to the semester page.
CLC-3614 Convert decimal to int on the client side
CLC-3637: c1c - put lost / found message on the top
https://jira.ets.berkeley.edu/jira/browse/CLC-3637
CLC-3528 - Updated user role logic. Added button to Dashboard page.
Merge pull request #2393 from redconfetti/CLC-3528-add-button-teacher-or-non-students

CLC-3528 - Updated user role logic. Added button to Dashboard page
CLC-3592 - Converted CanvasUserProvisionController#user_import route from GET to POST as per Rails 4 upgrade
Merge pull request #2395 from redconfetti/CLC-3592-update-user-provisioning-route-post

CLC-3592 - Converted CanvasUserProvisionController#user_import route from GET to POST
Merge pull request #2389 from christianv/CLC-3637

CLC-3637: c1c - put lost / found message on the top
Merge pull request #2391 from ctweney/clc-3614-clientside

CLC-3614 Convert decimal to int on the client side
CLC-3596: Status popover: "Academic Profile" is not an appropriate heading when the user only has a balance due notification
https://jira.ets.berkeley.edu/jira/browse/CLC-3596
CLC-2442 Document/test course ID formats
CLC-2442 Use server-provided class info URL in Academics
CLC-3631 Application log was not written to during load test
Merge pull request #2397 from christianv/CLC-3596

CLC-3596: Change "Academic Profile" popover title to "Status"
Merge pull request #2398 from raydavis/raywip

CLC-3631 Application log was not written to during load test
Merge pull request #2384 from raydavis/CLC-2442

CLC-2442 Handle primary section enrollments with same course catalog ID
CLC-3633 Copy hashed precompiled assets to their unhashed names, for benefit of load tests
Merge pull request #2399 from ctweney/clc-3633

CLC-3633 Copy hashed precompiled assets to their unhashed names
CLC-3414 "Implement: Re-authenticate when accessing View As"

https://jira.ets.berkeley.edu/jira/browse/CLC-3414

created a before filter in the application controller (:check_reauthentication)

that checks that the authenticated user is an admin and in the case
that they haven't reautenticated yet, and the renew=true param is present,
reauthentication is performed by calling /auth/cas?renew=true

Had to do a monkey patch on the omniauth-cas gem for the login_url method:
It checks that if the renew=ture parameter exists, and if the reauthenticated
cookie doesn't, it merges the renew=true parameter into it's login_options
that end up building the CAS url.

Upon callback from CAS, the SessionController#lookup method sets the :reauthenticated
cookie if the user is acting_as and the renew parameter is present.

The renew=true parameter is generated on the client side in the callback method
designated to receive a success from the SessionController#act_as method.

This functionality has been implemented with the Settings.features.reauthentication flag

This PR should be reviewed by Chris Tweney

Changes made since last PR:

- Removed any special redirects from the UI. The check_reauthentication skip_before_filter
is the only place that makes the redirect to cas with the renew=true parameter

- Removed some unnecessary functions that were only called in one place
  - authenticated?
- Simplified the is_admin functions
- Removed erroneous check for pending_reauthentication? in the reauthenticated method
- Simplified the check_reauthentication before filter
- Removed skip_before_filter from all controller actions except for SessionsController#lookup
- Added 8 hour expiration to the reauthenticated cookie
- Removed check for reauthenticated cookie from the omniauth-cas monkey-patch since it
should only care about whether or not it receives the renew parameter.

Known to-dos:
  1. All tests are green, but no specific integration tests have been written to test this functionality.