Expanded frame parsing test coverage.

Frames through PUSH_PROMISE have good coverage. PING, GOAWAY,
WINDOW_UPDATE, CONTINUATION, and ALTSVC remain to be done.

Also introduced an Error type (which wraps an error with a specification
error code), and refined error handling for many frame types.