Merge pull request #2902 from ctweney/mergepip

NOJIRA Merge master into pip branch
Merge pull request #2923 from ctweney/mergepip

NOJIRA: Merge master into PIP
Merge pull request #2959 from ctweney/mergepip

NOJIRA Merge master into pip branch
PIP2-14 Use the new JSON API; wire Semesters up to it
PIP2-14 Fake out some data so it works more smoothly in CalCentral for the demo
PIP2-14 Fix travis test failures
Merge pull request #2969 from ctweney/pip2-14

Pip2-14 Consume actual Peoplesoft data and display in front-end
PIP2-38 Implement backend API for waitlist that gets its data from Peoplesoft
Merge pull request #2970 from ctweney/pip2-38

PIP2-38 Implement backend API for waitlist that gets its data from Peoplesoft
CLC-4290 - PIP - Show a message when there are no waitlisted courses available

https://jira.ets.berkeley.edu/jira/browse/CLC-4290
Merge pull request #2973 from christianv/CLC-4290

CLC-4290 - PIP - Show a message when there are no waitlisted courses available
CLC-4298 - Added Canvas::CourseAddUser.granting_roles method which returns roles which users may grant to other users
CLC-4298 - Added support to CanvasCourseAddUserController#course_user_roles to return grantingRoles defining roles which the user may grant to others
CLC-4298 - Moved  calls from AngularJS controller to canvasCourseAddUserFactory.js
CLC-4298 - Updated 'Find a Person to Add' tool to use authorized user roles array
CLC-4298 - Added authorization check for role specified in user enrollment request
CLC-4298 - Updated specs to use new format for stubbing
Merge pull request #2994 from redconfetti/CLC-4298-ta-security-fix

CLC-4298 - TA role can add a Teacher using "Find a Person to Add"
Merge remote-tracking branch 'ets/master' into mergepip

* ets/master: (47 commits)
  CLC-4298 - Updated specs to use new format for stubbing
  CLC-4298 - Added authorization check for role specified in user enrollment request
  CLC-4298 - Updated 'Find a Person to Add' tool to use authorized user roles array
  CLC-4298 - Moved  calls from AngularJS controller to canvasCourseAddUserFactory.js
  CLC-4298 - Added support to CanvasCourseAddUserController#course_user_roles to return grantingRoles defining roles which the user may grant to others
  CLC-4298 - Added Canvas::CourseAddUser.granting_roles method which returns roles which users may grant to other users
  Use implicit return
  CLC-4311 - Gem Updates - livereload
  CLC-4311 - Gem Updates - rails-perftest
  CLC-4057 Emphasize BackgroundJobsCheck's dependency on the cache.servers setting
  CLC-4057 Be more selective about reporting LATE check-ins; add write_cache helper method
  CLC-4102 Decouple proxy exception handling from Cacheable
  CLC-4306 - Update gems - simplecov
  CLC-4256 Run load tets with both empty and primed cache
  CLC-4057 New service to perform health check on background job processing
  fixed typo bug
  CLC-4305 - Update gems - Capybara https://jira.ets.berkeley.edu/jira/browse/CLC-4305
  CLC-4305 - Update Capybara https://jira.ets.berkeley.edu/jira/browse/CLC-4305
  CLC-4304 - Remove dependency on foundation - type
  CLC-4282: fix broken Selenium test
  ...