[wip] Start a generic format validator

- will allow users easily create custom validations
- should dry up other validations by providing a reusable base