Refactored AutofillManager service classes into common code.

Autofill has the following workflow:

- AutofillManager talks to an IAutofillManagerService service located on
  system_server
- AutofillManagerService implements the IAutofillManagerService and delegates
  each call to the AutofillManagerServiceImpl associated with the given Android user
- AutofillManagerServiceImpl uses a RemoteFillService class that is
  responsible for binding to the service that is provided by a 3rd-party
- Plus a lot of other plumbing, like getting the name of the package that
  provides the service using Settings, listening to Settings changes, etc...

A lot of this "plumbing" is common to other system services
(like TextClassificationManager), so it makes sense to move this logic to common
code that can be used.

This CL refactors the "main" service classes (AutofillManagerService and
AutofillManagerServiceImpl), while RemoteFillService will be refactored later.

Bug: 117779333
Test: atest CtsAutoFillServiceTestCases

Change-Id: I19bae47b72096e66bd51c3cd6b68f9d3cf8ea708
7 files changed