mattdrayer/api-course-exists-check: Refactored course lookup logic

@chrisndodge @ziafazal -- made some changes to the course lookup logic -- added the discussed existence check and also tuned/simplified a lot of the view code.  Test suite appears to run 9-10 seconds faster now, so I'm hoping that is a good sign for real deployments.

Take a look and let me know what you think.
Do we also want a corresponding 'item_exists' test? I believe there is a 'has_item()' method in the modulestore.