Add API to undelete group membership
Merge pull request #113 from va7map/api-undelete_group_membership

Add API to undelete group membership
Fix term queries and add fail-safe in course form

* Fix 1-day delay on the first day of a term
* Gracefully handle nil terms
Merge pull request #114 from va7map/fix-term_query

Fix term queries and add fail-safe in course form
Merge pull request #110 from grahamb/fix-course-form-js

Fix hijacking of Start New Course button in IE
Create test_cluster plugin

This plugin displays a "test system" warning and prevents accounts with student roles from accessing courses on non-production systems (for which the plugin has been enabled). Code was provided by Instructure and slightly modified as it contained some multi-tenant specific stuff that we don't need.

When enabled, if an account with a student role tries to access a page within a course, they will receive a message stating that "students are not allowed to access test installations." The warning does not appear on the course's index page, but does for anything else inside a course (including files).

Enabling the plugin is a matter of having a testcluster.yml file in the config directory. The plugin looks for a "test_cluster" property; if the value is truthy then the plugin is enabled. testcluster.yml.(prod,stage,test,edge) files are in place in the /usr/local/canvas shared mount point already. .prod is false, everything else is true.

TEST PLAN:
- enable the plugin (add testcluster.yml to canvas/config -> "test_cluster: true")
- log in as yourself
  - verify that red bar appears at bottom of page
  - verify that you can access everything as an admin
- log in as an instructor
  - verify that red bar appears at bottom of page
  - verify that you can access the instructor's course(s) normally
- log in as a student
  - verify that red bar appears at bottom of page
  - verify that you CAN NOT access items within a course
Merge pull request #115 from grahamb/canvas-236-test-cluster-plugin

Prevent students from viewing courses on test systems
pin execjs version to 1.4.0

Change-Id: I3cafa727fccd5d1794f42387d667faabc142e769
Reviewed-on: https://gerrit.instructure.com/23544
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Cody Cutrer <cody@instructure.com>
Remove Gemfile.lock from repository

Run bundle install on all nodes during deploy
without the --deployment flag to foce generation
of Gemfile.lock. This removes any one developer's
machine from the deploy process.

Also folds in a commit from instructure/stable to
pin execjs at 1.4.0 as not doing so prevents
compiled assets from being generated.
Merge pull request #117 from grahamb/canvas-232-gemfile-bundle

Remove Gemfile.lock from repository
Standardize SFU MOD tags in core modifications

Wrap modifications with comments that start with "SFU MOD CANVAS-XYZ"
and end with "END SFU MOD". Use "SFU MOD - CANVAS-XYZ" for one-liners.
Override is_api? to force api calls to use authentication

Uses the same trick as sfu_api to force is_api? to return true.
Merge pull request #118 from va7map/standardize-sfu_mod

Standardize SFU MOD tags in core modifications
Merge pull request #119 from grahamb/stats-api-auth

Override sfu_stats api_request? to force api calls to use authentication