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.
@Scottmitch actually, I think we may have addressed #2937 a while back and forgot to close it. Looking at this code, the state verification occurs before we invoke the listener so I think it is no longer an issue.  WDYT?