[SM] Use maps for Manifest capability data

This changes the service Manifest type to use maps and sets for
underlying capability data storage rather than flat vectors of
structures.

This makes the type more useful to the Service Manager at runtime, and
avoids having to build additional data structures from the manifests.

Bug: 895616
Change-Id: I4e9354fd51a3a1e466c26a34b86a3358a31de7ab
Reviewed-on: https://chromium-review.googlesource.com/c/1462140
Reviewed-by: Oksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Ken Rockot <rockot@google.com>
Cr-Commit-Position: refs/heads/master@{#631008}
6 files changed