Fixes #32

Creates new methods that return a ValidationResult object instead of throwing an exception which requires catching and inspecting the exception itself. Migrating from the old to the new API should be pretty simple as the method calls match quite closely.
Merge pull request #34 from jjathman/remove-validation-exception

Fixes #32 - removes new validation API that doesn't use exceptions