Remove all legacy supervised users on startup.

The flag is: RemoveSupervisedUsersOnStartup.
It is disabled by default.

The tests in this CL verify that when the feature is disabled, no users
are removed, and when the feature is enabled, *only* the Supervised
users are removed.

This change also uncovered a bug in UserManagerBase where a const ref
was used after being freed.  That bug is fixed in this CL (after
initially causing the first attempt at this CL to be reverted post-CQ
after failing ASAN tests).

Tested by building with is_asan = true

Bug: 916685
Change-Id: I60bc62c971706f1c0200d142dcaaf32da88663d7
Reviewed-on: https://chromium-review.googlesource.com/c/1443716
Commit-Queue: Danan S <danan@chromium.org>
Reviewed-by: Alexander Alekseev <alemate@chromium.org>
Reviewed-by: Michael Giuffrida <michaelpg@chromium.org>
Reviewed-by: Jacob Dufault <jdufault@chromium.org>
Cr-Commit-Position: refs/heads/master@{#629351}
6 files changed