add Component::Validation and rewrite Tax to use it
Merge pull request #48 from interchange/fixes/tax_validation_rewrite

add Component::Validation and rewrite Tax to use it