Refactored how the book configuration is processed.

The new BookConfigurator improves the overall code quality and
simplifies the unit tests dramatically.

easybook configuration processing is very difficult because books
can be configured in three different ways (book's config.yml file,
--configuration command option and the default configuration option
values). In addition, any option value can be a Twig expression, that
must also be resolved before book publishing. Lastly, each edition
can inherit from other editions to reuse configuration options.