[AF] Schedule Add/Remove/Update profiles

Keep a timely ordered list of requested operations on profiles.
For each profile, start the next operation when the previous one
finishes on the database.

Also, profile_validities_need_update_ will be updated only for
add/update.
Note: For different profiles, there is no overlap, therefore,
operations can be handled in parallel. This is especially useful for
async tasks such as client side validation.

Bug: 909730
Change-Id: I822648a71e7cfd815461149645d3411f6d08ba9e
Reviewed-on: https://chromium-review.googlesource.com/c/1372175
Reviewed-by: Tatiana Gornak <melandory@chromium.org>
Reviewed-by: Martin Šrámek <msramek@chromium.org>
Reviewed-by: Roger McFarlane <rogerm@chromium.org>
Commit-Queue: Parastoo Geranmayeh <parastoog@google.com>
Cr-Commit-Position: refs/heads/master@{#620323}
16 files changed