FEATURE `_validate_dict`

`_validate_dict` uses the new validation pattern.

Add `capture_errors` and `raise_if_errors` helper functions.
REFACTOR Remove `StructuredValidationError`

Remove `StructuredValidationError`. This exception class is no longer
necessary.
FEATURE `_validate_DictOf`

`_validate_DictOf` uses the new validation pattern.
FEATURE `_validate_list`
FEATURE `_validate_ListOf`
FEATURE Sequence, mapping validation

Use abstract base classes to validate sequence and mapping types. When
`schema` is a `list` or `dict`, any sequence or mapping type
(respectively) will pass.
FEATURE `Nullable` rule

Add `Nullable` rule. Allows `None` values to pass validation.
FEATURE `_validate_tuple`
MISC Organization
FEATURE `raise_type_validation_error`
FEATURE `confirm_mapping`
FEATURE `confirm_sequence`
MISC `_validate_scalar` accepts `None`
FEATURE `_validate_..._structure`

Rename validation component functions to separate out functions for
validating structure.
FEATURE `_validate_dict_structure`
FEATURE `_validate_DictOf_structure`
FEATURE `_validate_list_structure`
FEATURE `_validate_ListOf_structure`
FEATURE `_validate_data`
REFACTOR `_validate_tuple_structure`