Add encoding to PositionAwareStreamReader; add tests for that class

- Make PositionAwareStreamReader use encoding from the source StreamReader
- Add PositionAwareStreamReaderTest.cs