Merge of new validator with tests

Per @gvwilson request (issue #34).
> It's deprecated in python 3, but in python 2.x I've encountered situations and
> deployments where 'rU' was necessary to open a file correctly.

OK. I hope that we move to Python 3 soon. =)

> If our only concern is the unsightly deprecation warning, I can probably rig a filter on the logger to suppress it in python 3... 

No need for this.