added invalidation logic

we now have 3 ways to invalidate cache: controller level attrib, method
level attrib or manual. Also change the way we access caching
configuration