Adopt enum class for favicon_base::IconType

Semi-automated patch composed almost entirely of renames, with the goal
to provide stronger type safety via enum class and most notably prevent
the enum from being used as bitmask (IconTypeSet should be used for
this).

The only non-trivial changes are in thumbnail_database.* where the enum
needs to be casted to/from int. We introduce helper functions and the
corresponding unit tests in preparation for future patches that will
modify the enum values.

Bug: 778551
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: Ide9a110a4d33ac5e94c6d113219631f24ef1ee1a
Reviewed-on: https://chromium-review.googlesource.com/753361
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Brett Wilson <brettw@chromium.org>
Commit-Queue: Mikel Astiz <mastiz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#514270}
81 files changed