Homework 3.1

First pass.  You can see I'm attempting to implement some validation.  I probably shouldn't include any console logging in the constructor, especially in release, but since this is for use in a console I've added a convenience 'warning' method.