Track whether peer has acked our latest settings.

Choose the error code for violating SETTINGS_MAX_CONCURRENT_STREAMS depending
on whether the peer should know better.

See http2/http2-spec#649 and http2/http2-spec#652
Clarify PriorityParam.Weight's range.
Add ability to write and parse push promise frames.

A lot of the functionality in push promises are similar to headers
frames, so some of the code has been copied and adapted. Waiting
until there's a user of the push promise frames to dedup the code.
Send GOAWAY if server receives a PUSH_PROMISE.