REFACTOR Naming

Rename common-routine functions in `validation_tools` to start with
`_dispatch`.

-  `_dispatch_DictOf`
- `_dispatch_list`
- `_dispatch_ListOf`

Rename `util.select_processor` to `util.select_function`
REFACTOR Pass `function_map` through

`validation_tools._dispatch` passes through `function_map`. This
eliminates the need for several functions, and simplifies others.
REFACTOR Rules uses `ValidationManager`

"Rules" routine passes a `ValidationManager` instance to handle default
values.
BUGFIX `tuple` rules infinite loop

Fix `_validate_tuple_rules` to prevent looping with
`_validate_scalar_rules`. Remove `RULES_TUPLE_LOOP`, which was a bad
attempt to fix ths problem.
REFACTOR Structure uses `ValidationManager`

"Structure" routine passes a `ValidationManager` instance to handle
default arguments.
BUGFIX `Dict` argument propagation

Prevent special `Dict` arguments from propagating to nested schema.
FEATURE `list_strip_extras`

Add special default arguments for `list` structure validation.
`list_strip_extras` removes extra items from the end of a list.

Fix: `dict` default structure arguments are no longer applied to `list`
values.
REFACTOR `_dispatch_and_reassemble_...`
MISC Naming - `_utilize_`

Rename type-specific `dispatch` functions to `utilize`.
REFACTOR `_utilize_dict`, `_utilize_Dict`

Add function `_utilize_dict`. Called by `_validate_dict_structure`.
Replaces `_validate_dict_rules`.

Add function `_utilize_Dict`. Called by `_validate_Dict_structure`.
Replaces `_validate_Dict_rules`.
REFACTOR `raise_validation_error_from_rule_violation`

Add `raise_validation_error_from_rule_violation` function. This will be
re-used by `_process_input_Call`.
FEATURE `process`

Add `process` function. Accepts a schema of callables, calls each one
with corresponding `data` as keyword arguments, and returns the return
values. `RuleViolation` errors are converted to `RulesValidationError`.
FEATURE `_process_Call`
FEATURE `_process_Callable`
FEATURE `PROCESS_MAP` integration

Expand `PROCESS_MAP` to cover all relevant schema types.
REFACTOR Remove `_reassemble_` functions

Eliminate redundant `_utilize_and_reassemble_...` functions.
REFACTOR Remove redundant tests
REFACTOR Test specificity

Make integration tests for validation more specific by providing the
expected error class.
FEATURE `process` integration test
FEATURE `_process_and_transform_errors`