Make Configuration.BuildSignature() throw when user identity isn't configured

Supersedes #808
You're right. Better now?