Added a simple data cache for BookEntity::findAll()

This "in memory" data cache allows us to be able to call the "findAll()" method of our Book entities multiple times on a single page with a single DB query