Use the annotations directly for parameter handling.

Before we attempted to normalize the parameter annotations into a name and type model. The introduction of multi-part transfer encodings required something more expressive so the annotation instances themselves were used. This change removes the name and type in favor of using the annotation for everything.

Deprecate the pre-encoded annotations in favor of boolean fields on the corresponding 'regular' annotation.
Merge pull request #620 from square/jw/annotations

Use the annotations directly for parameter handling.
Provide explicit error kind for disambiguation of underlying cause.
Merge pull request #622 from square/jw/error-kind

Provide explicit error kind for disambiguation of underlying cause.
Document required versions.
Simplify scheduling of mock observers.
Merge pull request #578 from square/jw/mock-scheduling

Simplify scheduling of mock observers.
Next version will be 1.7.0.
Favor an immutable singleton list over immutable list view.
Dot
Prepare for 1.7.0.
Forgot about encode settings on path/query annotations.