Use blocking reader to fix race in test
The TestCanceledContext
test in twofactorverify_test.go
tests the scenario wherein the request context gets canceled in the middle of the request.
A race can occur though when the input gets read before the context is canceled which can result to a different error: instead of having the context canceled, the OTP will be blank.
To fix it, we use a blocking reader as input to simulate "waiting for input" scenario. This way, reading the input will never be finished and the context cancelation can be done appropriately.
Closes #602 (closed)