IOExtensions provides convenience wrappers for certain IO functionality.
Reads and returns exactly length bytes from io using the read method on io. If there is insufficient data available, an EOFError is raised.
[Validate]