Extract PowerManagerClient from DBusThreadManager

Tests can now use [Fake]PowerManagerClient::Get() instead of creating
their own FakePowerManagerClient. The presence or absence of the system
bus is used to determine whether to make FakePowerManagerClient or

Many tests are updated. Most of the more substantive-looking changes
are just refactoring code to do more setup/teardown in SetUp and
TearDown instead of in ctor/dtor, which is necessary since we're
enforcing that PowerManagerClient is a singleton.

Bug: 647367,644348

Change-Id: I42da97755ae839d7c98bcae2e5d02c7341c38580
Reviewed-on: https://chromium-review.googlesource.com/c/1484852
Commit-Queue: Evan Stade <estade@chromium.org>
Reviewed-by: Karan Bhatia <karandeepb@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Sergey Poromov <poromov@chromium.org>
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#637139}
174 files changed