Fix passing API parameters that can be parsed as numbers
Fix passing API parameters that can be parsed as numbers

Various errors occur when passing string parameters that can be parsed
as a float or int to the API.

One example is "POST /study" with "name" as "7":

    AttributeError: AttributeError("'int' object has no attribute 'strip'",)

Another example is "POST /dataset" with "description" as "100.0":

    AssertionError: AssertionError()

(The "assert isinstance(doc['description'], six.string_types)" check fails.)

This commit changes parameter decoding to always return simple values as
strings. Endpoint methods that require non-string parameters should
continue to explicitly convert the values after the parameters are
decoded.

ImageMarkup/isic-archive,ImageMarkup/isic-archive,ImageMarkup/isic-archive,ImageMarkup/isic-archive