don't load whole pages table into memory

TODO: caching, removal of old code
add parent_subroot_id column to pages table

queries to pages table can be optimized using that
Merge branch 'master' into pages-generator-performance
Merge branch 'master' into pages-generator-performance
use parent_subroot_id in category generator and adapt all tests
add parent_subroot_id to all page models
improve querying pages table

- correctly handle indirectly invisible pages
- improve performance for simple queries
- improve performance for quering home
add benchmark entry
add row based cache for page data
rename method to make clear it recurses
respect visibility correctly in getRecursivePageChildIds
remove commented out code
add benchmark calls
when getting component by id never query db
add cache for getting child page ids
add cache for getting page by filename
adapt to renamed method
add missing parent_subroot_id in tests
add missing parameter
correclty clear cache when changing pos