Reduce decencies (call only needed zendframework components instead of entire framework)
FIX Result of getFilesByKeywords was never cached
$keywords can be basic array or Traversable
getFilesByKeywords return Doctrine ArrayCollection