DO NOT MERGE:  Initial course API work

Putting up the first go-round for the courses API -- still a WIP, just looking for PEP8 / Pylint / Coverage info right now -- but feel free to take a look and send along feedback all the same.