Apply better type checking to unitConfig/serviceConfig/...

In particular, complain if two modules define the same systemd option.

(cherry picked from commit 5620e69b5dfce29f1759ec653d0f26745239f2af)
nscd: Fix LD_LIBRARY_PATH

This ensures that nscd can find the NSS modules.

Fixes #1248.

(cherry picked from commit 953f12995be933fb2c1efe314299556e4178e26e)
Use types.lines for script/preStart/postStart/postStop

(cherry picked from commit 33cb0bbb4b18ae1c1a5762b9f9f3f46c7008d7fd)
Allow overrides to work for unit options

(cherry picked from commit 8951be2d805cfb03b98900530a0bdb64146111a0)
Allow services to specify a pre-stop script

(cherry picked from commit 14cd8bc24874b33e87ec08ddb6d47502e76f17b0)