CLC-2511 bCourses course provisioning for admins in CalCentral

https://jira.media.berkeley.edu/jira/browse/CLC-2511

There are a lot of outstanding TODOs on this. And one known bug, as well.

BUG: The spinner display has some issues in my testing. On Firefox, the graphic spins but the entire page bounces back and forth while it's going. On Safari, the graphic is static. I can open a follow-up JIRA for that.

TODOs:

1. There is not a clear navigation path for this functionality at present, either inside CalCentral or bCourses. On CalCentral, the page can be found at "/canvas/course_provision". I'll open a follow-up JIRA to add this as an "Account Navigation" external app in bCourses.

2. The server-side code is not well structured at present. The division between the model and the helper class in "lib/canvas" seems arbitrary, and the helper class is too bulky.

3. The two big new RSpec tests follow completely different conventions: "old style" vs. "new style". I prefer the new style, FWIW.

4. Even for the admin point of view, the messages need better formatting and probably better text. I'll open a follow-up JIRA for those design adjustments (or add screenshots to an existing JIRA).

5. Follow-up task to link any existing bCourses sites for the candidate sections. This will also fix CLC-2498, and probably trigger major refactoring of the messy My Classes implementation.