FEATURE `None` schemas bypass processing

When `schema` is `None`, data processing is bypassed.

`validate` bypasses validation when `schema` is `None`.

`CoercionManager` methods `coerce_input` and `coerce_output` bypass
coercion when `schema` is `None`.
REFACTOR `processing_decorator`

`processing_decorator` no longer calls `process_data`. This is because
`validate`, `coerce_input`, and `coerce_output` all call `process_data`
within their own routines.
MISC .travis.yml

Add .travis.yml file.
FEATURE `_validate_scalar`

`_validate_scalar` uses the new validation pattern.

`ValidationError` takes a list of error dicts as positional arguments.

`make_error_dict` returns correctly-structured error dicts.
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`