uses serde_bytes for (de)serializing Vec<u8> (#4088)
By default Vec<u8> is treated just as any Vec<T> and is inefficiently
(de)serialized byte by byte.
serde_bytes instead uses Serializer::serialize_bytes and
Deserializer::deserialize_bytes which do so more efficiently.
https://docs.rs/serde/latest/serde/trait.Serializer.html#tymethod.serialize_bytes
https://docs.rs/serde/latest/serde/trait.Deserializer.html#tymethod.deserialize_bytes