libcore: throw InvalidKeyException instead of ProviderException

In java.security javax.crypto and java.security classes with
late binding, when guessing the provider and none of the
available ones supports the specified key

Bug: 18987633

(cherry pick from e38b83dd96281d178b01476b67d354655bf2de62)

Change-Id: I5931046e9044984baf724157138bf3a7c7ef5e90
9 files changed