Delay querying for printers list until the policy file is parsed

A list of enterpise printers is not ready immediately after creation of
CupsPrintersManager. It caused a problem for testing procedure since from the
level of autotest_private_api we do not know if the final list is ready or
there are still some ongoing calculations. A new method called
OnEnterprisePrintersInitialized() was added to the observer of
CupsPrintersManager to solve this issue. Also whole code related to
enterprise printers were refactored, large part of functionality was moved
from SyncedPrintersManager to new class EnterprisePrintersProvider. Classes
ExternalPrintersPrefBridge and DeviceExternalPrintersSettingsBridge have been
merged into one class called CalculatorsPoliciesBinder.
This is reland of CL:1491909, it fixes the problem detected by the test
AutotestPrivateApiTest.AutotestPrivate (method execution after destruction
of CupsPrintersManager object).

BUG=chromium:816996,chromium:938699
TEST=Tested on cave with the use of CL:1451591
TBR=achuith@chromium.org,emaxx@chromium.org

This reverts commit 99581538bcf55dd2d94b7888d106222916b88331.

Change-Id: I9835d2b2c2a16d98f7af5d59c1f09d43e51425ad
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1529759
Auto-Submit: Piotr Pawliczek <pawliczek@chromium.org>
Commit-Queue: Piotr Pawliczek <pawliczek@chromium.org>
Reviewed-by: Sean Kau <skau@chromium.org>
Cr-Commit-Position: refs/heads/master@{#642916}
34 files changed