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

Supersedes #808
We should be consistent here and there's no reason to use "can not" as a two word construction except in very rare circumstances.  (Chicago Manual of Style prefers "cannot" over "can not".)