common: LetsEncrypt registration for a key now tested with an auth request
There is no way to determine if an key is already registered with the server. Previously we just registered and caught any errors, but it turns out that the Acme servers always return "Malformed" if there is any problem with the request at all (e.g. bad email address, key previously registered). This means we can return a sane error to the user if the request fails, without parsing the error text. However if a key is not registered, the server will return Unauthorized when requesting a new challenge via new-authz, so we can use that to see if a key is valid or not.