Fix missing delete_keypair and delete_all

delete_keypair and delete_all always existed in SoftKeymasterDevice and
always returned an error, this causes keystore's delete to fail because
it gives the impression the key was unable to be deleted.

Instead SoftKeymasterDevice will track these two optional methods, if
they exist int the underlying device then SoftKeymasterDevice will
expose them and simply pass though, otherwise the methods will be null
in the SoftKeymasterDevice's device.

Cherry-picked from internal.

Bug: 21634519
Change-Id: I5ecb86644d5a3b6a517aa040b08b0902443e5be1
1 file changed