CLC-2922 Parse JSON safely, logging with the calling class's name if there is a parse error

https://jira.media.berkeley.edu/jira/browse/CLC-2922

This introduces a new pattern for safely parsing JSON. I applied it in most places that have standard code forms. A few places (mostly the administrative tools around Canvas) still use the old optimistic direct access to JSON.parse. Over time I'd like all JSON parsing code to use this method where applicable. 

The module logs out with the name of the class that called it so that we can locate parse errors quite easily.