nixos/lighttpd: add services.lighttpd.enableModules option

This option makes the coupling between lighttpd and its sub-services
more "loose".

While the option is a list, its purpose is to provide a "set" of needed
modules to load for lighttpd to function correctly with its config. The
NixOS lighttpd module ensures lighttpd modules are loaded in the correct
order and that modules are not loaded more than once (because lighttpd
dislikes that).

Also add an assertion that all modules listed in .enableModules are
valid.