Some work on S3a has shown up that there aren't tests catching regressions in readFully, reviewing the documentation shows that its specification could be improved.
- review the spec
- review the implementations
- add tests (proposed: to the seek contract; streams which support seek should support positioned readable)
- fix code, where it differs significantly from HDFS or LocalFS