improved and added per-view caching on lists

Improved lists view by replacing class-based view to a more
flexible view suggested by tampakrap and mgorny.
Also, I added a per-view caching to lists which reliefs server 
from HTTP requests and improves performance.