Added Redis caching
Created new profileManager, aggregates products, reviews, followers, and followings of users when their profile page is requested
Fixed some cache and tests.
Updated API endpoints to handle caching and more flexibility. Simplified existing server code for product, user and review manager