Finally replace all char buffers with uint8_t buffers
We started doing this a while back, and covered a lot of the more worrisome cases, but there's lots more to do. Whenever we pass around a chunk of bytes, it should be as an array of an unsigned type. Otherwise we'll keep getting bugs like #6861 (moved).
This is going to have to go API by API, alas.