Adding input/output streams and updating the test cases

The input and output classes allow me to expand further and build
questions and user responses without making the user write a tonne of
code to capture the input.