Extract buffer management logic from SpdyHeadersBlockParser.

Reader concept is extracted into new class SpdyPrefixedBufferReader
and companion class SpdyPinnableBufferPiece, which manage details
of non-copying reads across disjoint buffers.

SpdyHeadersBlockParser is given its own error enum to
remove dependency on a Google-internal enum, and to treat insufficient
data as a recoverable error in the SpdyHeadersBlockParser state machine.

SpdyHeadersBlockParser tests are updated to
correctly retain storage of mock arguments on the stack.

This lands server change 61753532 by jgraettinger.
This skips over server change 59584319 by ygi.

BUG=345769

Review URL: https://codereview.chromium.org/181683003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253870 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 253870