Frame parsing: incremental headers decoding and better errors.

Added HeaderDecoder interface for incremental processing of header
fragments as they arrive. Parsed HeadersFrames, PushPromiseFrames, and
ContinuationFrames now carry and deliver header representations which were
fully decoded as-of that frame.

Added an Error type which wraps a golang error with an explict HTTP/2
error code. Returning |*Error| rather than |error| guarantees that all
error conditions are mappable into a sent GOAWAY or RST_STREAM frame.

Cleaned up error messages, imports, and literal names to conform with
go-wiki style recommendations ("CodeReviewComments").