Cache parsed signing key for performance

When an Auth is constructed, parse the private key data once. Then reuse the parsed data whenever a signature is required. This saves a lot of CPU.