Reland r263348: Add False Start tests
Failed on valgrind because it triggered broken timing cases. The original
FakeBlockingStreamSocket changes introduced bugs and didn't quite have the
desired semantics:
- If SetNextReadWouldBlock() gets called while there is a hanging Read(), we
need to block that one.
- The synchronous Read return + block case was just broken. It forgot to save
the callback.
Original description:
> Add False Start tests
>
> Tests both that False Start occurs when it should and doesn't
> when it shouldn't.
>
> BUG=354132
>
> Review URL: https://codereview.chromium.org/
208293002
BUG=354132,362920
Review URL: https://codereview.chromium.org/
237483002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264356 0039d316-1c4b-4281-b951-d872f2087c98