Add a Key class

This CL generalizes the UserContext::password_ field into a Key class which
can hold a plain text password, a key derived from a password by hashing
or, in the future, other key types.

BUG=367847
TEST=Updated tests; added new unit test
R=antrim@chromium.org
TBR=pamg (c/b/managed_mode/chromeos/manager_password_service.[h|cc])

Review URL: https://codereview.chromium.org/296773002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@272963 0039d316-1c4b-4281-b951-d872f2087c98
46 files changed