Use RecoverableKeyStoreDb in RecoverableKeyGenerator

This removes the layer of abstraction provided by RecoverableKeyStorage,
as it doesn't seem particularly useful, given how easy it is to just use
the real classes in tests. This also hooks up actually saving to the
database. I've modified the class so that you can have a single instance
for generating keys and just pass the 'uid' through, rather than having
to create a new instance per uid. I think this will simplify its use.
Also it no longer returns the key handle. As you can just get it out of
the AndroidKeyStore yourself, it doesn't seem useful to have the method
also do that.

Test: adb shell am instrument -w -e package com.android.server.locksettings.recoverablekeystore com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
Change-Id: Ice144a84690150648cbb5da64c8a4cecc2576349
9 files changed