rules object is now constructed outside of the scanner object - logical seperation to simplify code...
rules object is now passed into the Scanner object.  Removed all of the rules object construction code
assert scanned 2 is false in recursive mode as we just need to validate that we scanned a different number to that of which we matched...