Improve validation of --author and --name.
Mostly, the code used to allow having either --author or --name,
while it should use either both (when generating metadata) or
neither (when using a metadata file).
This code fixes this, and also catches some more invalid cases.