Path of error is escaped where needed and looks more like actual JS.

 - Escape keys looking like something complex
 - Check simple keys with simple regex, full story: http://stackoverflow.com/questions/1661197/valid-characters-for-javascript-variable-names
 - Tests