json_schema_compiler: Use std::vector<char> for binary values.

This change enables ArrayBuffer[] in IDLs / json-schema descriptions of extension APIs.

This affects the code generated from these descriptions:
The C++ members (and arguments to the ::Create functions) that refer to binary values are now represented by std::vector<char> instead of std::string.

All usages are adapted in this CL.
While there, this change updates the affected code parts
 - to use vector_as_array where it makes sense
 - unnecessary copies are removed where easily possible
 - and range based assigns ( ::assign(InputIterator first, InputIterator last) or the same with c'tors) are uniformly used.

BUG=448383
TBR=stevenjb@chromium.org (chromeos/dbus was reviewed by bartfab@)

Review URL: https://codereview.chromium.org/820673004

Cr-Commit-Position: refs/heads/master@{#312183}
55 files changed