Add gemspec
Clean up ValidationResult#reason somewhat
Add draft for definition DSL
A new take on the Dsl