Restful api prototype

Replaces the course index and course overview access w/ a restful api. 
To enable the restful api, I made several places aware of the differences between locations and locators and added some helper functions for centralizing parsings.

We still need to iron out access permissioning, but I believe this doesn't add any b/c I didn't finish the restful options (get json, put, post, and delete) as I'm leaving those to a future PR.

@cahrens @singingwolfboy @cpennington please review or delegate or punt