There was no need for it to be this complicated.
Notably the maintainer check was never used anyways, because only its
merge function was used, which doesn't do a check
There is a minor functional change with this commit, which is that even
if explicitly `meta.maintainers = []`, that module will be in the result
when it wasn't before. I deem this insignificant.
This factors out `meta.maintainers` from NixOS `misc/meta.nix` for use in arbitrary
Module System applications.
It is useful beyond NixOS and not coupled to it, although it is currently coupled to Nixpkgs'
`lib.maintainers`.
That restriction could be lifted optionally if there's future demand.