making CachingJSONR a trait
cc/ @taylorleese
making CachingJSONR a subclass of JSONR
this PR doesn't break binary compatability, and keeps the caching behavior and usage the same