CLC-846 Split SakaiProxy into 1 class per request, and add caching