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.

@swankjesse 
nit: can the key be null?