v0.0.0, 2014-02-19 -- Project Start

v0.1.0.3, 2014-03-03 -- Validation, coercion, forms, schemas
This version supports Python 3.x.
- `validate`: Validate data against a schema.
- `@validation`: Add input/output validation to a function.
- `CoercionManagerBase`: Parent class for coercion managers. Subclasses declare
  coercion methods for input and output.
- `coerce_input` and `coerce_output`: Coerce data with a schema, using the
  coercion methods declared on a subclass of `CoercionManagerBase.
- `@coercion`: Add input/output coercion to a function.
- `ValidationError`: Raised when validation fails.
- Schema types: Special types for defining schemas. Includes `AnyType`,
  `DictOf`, and `ListOf.
- Validators: Define validators as classes or functions. Add validators to a
  schema using tuples.
- `validators`: Pre-defined validators for common use cases. Includes
  `Required`, `OneOf`, `Range`, and `Regex`.

v0.1.1, 2014-07-28 -- Validation improvements
- Error output format: Validation errors are returned as a list of error
  dictionaries. Each error dictionary includes 'location', a sequence of keys
  which identifies the location of the invalid data within the input data.
- `ValidationError` subclasses: Add separate error classes to differentiate
  between "structure" errors and "rules" errors, and between "input" errors and
  "output" errors.
- Dictionary validation parameters: Add parameters to dictionary structure
  validation. `optional_keys` ignores missing optional keys. `strip_extras`
  alters the validated dictionary by removing unknown keys.
- `Dict` schema type: Add `Dict` schema type. Allows the user to specify
  dictionary validation arguments for a specific dictionary.
