Make sure we don't get a BOM.
Derive RedisAsyncCommandTask from TaskCompletionSource.
This saves an allocation and lets us more easily use TrySetException().
Use _encoding for RedisReader's ReadLine().