Decouple UserDataRepository from ImfLock

UserDataRepository is essentially a concurrent map between userId and
UserData. Decoupling it from ImfLock gives us more code flexibility
without sacrificing correctness and thread safety.

Bug: 352387655
Test: presubmit
Flag: EXEMPT refactor
Change-Id: Iec577722c0d1817a55102f34011db943b9076a4e
3 files changed