Port InvalidCiphertextException handling to boto3
Port InvalidCiphertextException handling to boto3

The KMS client code was converted to boto3, but the exception handling
when decrypting is still looking for
boto.kms.exceptions.InvalidCiphertextException. As a result all
exceptions raised during decryption result in a generic KmsError instead
of the InvaliCiphertextException specific errors.

See also: #38

3stack-software/credsmash,stephen-164/credstash,fugue/credstash,fugue/credstash