Cancel immediate read callback when socket has error
Cancel immediate read callback when socket has error

Summary:
When `startFail()` is called, it sets the state to StateEnum::ERROR.
There is a chance that immediate read callback is scheduled to run in
next event loop. The callback calls handleRead() then triggers
`assert(state_ == StateEnum::ESTABLISHED)` in `AsyncSokcet::handleRead`.

Cancel any immediate read callback when startFail is called.

Reviewed By: yfeldblum

Differential Revision: D7051956

fbshipit-source-id: 0d6693d851b272355a4f36ab8d001969fa47750e

facebook/folly,facebook/folly,facebook/folly,facebook/folly,rklabs/folly,rklabs/folly,rklabs/folly,facebook/folly,rklabs/folly,rklabs/folly