Signature verification, fix keypair constructor, cleanup.

Why is s==0 disallowed? Even if we disallow it, it is an extremely rare event and the assert will vanish in release mode.