Make //chromeos/cryptohome and //chromeos/login/* components

A component or target should not include a source_set that is also
included by another component or target. This could cause unexpected
behavior in component builds with duplicate globals:
https://chromium.googlesource.com/chromium/src/+/HEAD/docs/component_build.md#the-chrome-component-build

This was violated with some recent refactoring of:
//chromeos/cryptohome
//chromeos/login/auth
//chromeos/login/login_state

These only affect component builds, which are not used for any
non-informational Chrome OS builders.

Since these changes landed recently and are part of a complex chain
(or are long existing) rather than attempt a series of reverts, this
CL addresses the majority of these by removing these source_sets from
//chromeos and making them separate components (something we want to
do anyway).

For redundant deps removal and extraction:
TBR=sky@chromium.org, jamescook@chromium.org, hidehiko@chromium.org

Bug: 863439
Change-Id: I2174e25345ea7415a676fc2b9e6e62a0398428b0
Reviewed-on: https://chromium-review.googlesource.com/c/1399458
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
Reviewed-by: Ryo Hashimoto <hashimoto@chromium.org>
Commit-Queue: Steven Bennetts <stevenjb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621618}
15 files changed