signature: don't allow empty emails

A signature is made up of a non-empty name and a non-empty email so
let's validate that. This also brings us more in line with git, which
also rejects ident with an empty email.
Merge pull request #2558 from libgit2/cmn/signature-empty-email

signature: don't allow empty emails