FEATURE Validation

Complete re-working of the validation routine.

- Add `Dict` schema type.
- Add more descriptive `ValidationError` classes.