Implement DeleteUser/DeleteAllUsers

Implement DeleteUser/DeleteAllUsers and fix some inconsistencies
between failure records in secure storage and memory storage:
- attempting to read a missing storage record was treated as an
  error, whereas reading a missing memory record created a new one
  (now they're both errors)
- storage records were keyed by uid, but memory records were keyed
  by SID, which made it possible to have multiple memory records
  with different passwords for the same uid (now they're both keyed
  by uid, and re-enrolling replaces the previous record for both
  storage and memory)

Bug: 160731903
Test: "atest VtsHalGatekeeperV1_0TargetTest"
      manual testing with added instrumentation
Change-Id: Icf28f3add488a35dfca3f0d05ab4911daf3546ba
3 files changed