Re-structured class layout to match the book's.
API for article 3.1. Utility to read files of any size in stream with test cases.