fix incomplete data read in sasl_client_transport

Current sasl_client_transport will fail in reading big data chunk because of a bug in `reset_buffer!` method.

```ruby
len, = @transport.read(PAYLOAD_LENGTH_BYTES).unpack('l>')
@rbuf = @transport.read(len)
```
when the expected data size (`len`) is large,
seems it may multiple times of `transport.read` to fetch all of the data.