Dictionary Validation

This is also probably not complete. More questions incoming...
> I might be the outcast on this opinion, but local type aliases really irk me as a code smell that something else is wrong

I haven't really formed a strong enough opinion on this yet, but here was/is my current thinking. Simplistically it's that `less code = Good Thing`, or at least `less code > Bad Thing`. One example being that for _source_ compatibility it means you can change things in one place. If I changed the representation `DictValidation` I wouldn't (necessarily) have to change all the return types for example.

Like I said, I'm not especially tied to my use of it here in the slightest, and if you think that `RIOValidation` is a better top-level alias I'm happy to run with that.

I'm curious to see what @raronson thinks.