Chapter 11 functionality.
- Implemented code needed to make first end-to-end test past.
- Added comments to all classes explaining what has changed in Chapter 11.
- Updated REEADME to explain goal of this project and explain where this project diverges from the book implementation.