keystore: fully reset user keystore on request

The reset was improperly skipping the .masterkey file which left
keystore in a "LOCKED" state next time it was started up. The .masterkey
should have been deleted to leave it in the requested "UNINITIALIZED"
state next time it started.

It looks like some logic was left over to check the UID to see if it
matches the current user. Currently there's no way to have a UID in
the user directory that doesn't match the current user.

Bug: 13886753
Change-Id: Icd3a1a55153a0dd28a26d51a5ae7f6de1a7da043
keystore: allow system to clear keys even while encrypted

Since we can store keys that are unencrypted, we should allow the
clearing of data for apps when the keystore is still in a LOCKED state.
Also allow the system user to delete keys since this is necessary for
system maintenance when application data is cleared or the application
is uninstalled.

Bug: 15751553
Change-Id: Id02bc9992bd529e79be7a09d2bce208942d42b84
Merge "keystore: allow system to clear keys even while encrypted"
Merge "keystore: fully reset user keystore on request"