chef_user: ignore public key for validation when private_key=true

If a user supplies both `private_key: true` and `public_key: ---BEGIN CERTIFICATE----`, the request is invalidated because the supplied certificate does not match the regexp for a public key.

The users API converts certificates to public keys "on the way out", but there are other parts of the system that are currently being migrated that still return a certificate.

This patch ignores inputs to public key when the private key regeneration field is true.

/cc @opscode/server-team