Changing stream verification to throw Http2StreamException.

Motivation:

Currently when receiving DATA/HEADERS frames, we throw Http2Exception (a
connection error) instead of Http2StreamException (stream error).  This
is incorrect according to the HTTP/2 spec.

Modifications:

Change the Http2Stream.verifyState method to throw Http2StreamException.

Result:

Stream state verification is properly handled.
Done ... updated comments on the encoder/decoder interfaces.