config/validate: add new config validator

This validator is still experimental and is going to need new rules in the
future. This lays out the general framework.
flags: add validate flag

This will allow the user to run a standalone validation.