Adding a much needed output strategy to get away from that old, crusty, System.out construct
Adding a factory to create the output strategy so that we never get locked in again.  Enterprise freedom
Adding a strategy to wrap System.out to prevent vendor lock-in.  Also declaring exceptions using IOException, which should be removed and replaced with our own type
Creating a concrete factory for our output straetgy.  Freedom is only a few commits away.
Removed all of those nasty System.out s with a proper output strategy.  Can you believe it...some kid forgot to give constructors to all of those classes...seesh
Making a fix to the way the output stream is instantiated in order to fix the unit tests, like a boss.
Merge pull request #124 from bstempi/feature/118

This decouples the project from `System.in`, removing the troubling vendor lock-in that held the project back.

This closes #118.