Refactored CanvasProvideCourseSite methods.

https://jira.media.berkeley.edu/jira/browse/CLC-2633

Replaced nested if-then conditionals with ordered return statements (or exceptions) which halt the execution of the task.

Exceptions are used when non-expected situations arise, with exception handling in CanvasCourseProvisionController to ensure delivery of error message to front-end stack (AngularJS).

Expanded Rspec tests for CanvasProvideCourseSite, and CanvasCourseProvisionController.