This completely refactors how headers are hpack-encoded. Instead of trying to be clever, constructing frames on the go while hpack-encoding, we just make a blob of all the hpack-encoded headers first, and then we split that blob in as many frames as necessary.
h2 test support
This crate includes utilities for writing h2 tests. This is broken up into a
separate crate because it requires the unstable feature flag and to enable
tower-h2 to use the same helpers.