Add Colander validation for input other than JSON

 * add built-in support for www-form-urlencoded data (ie.
   traditional HTML form submission)
 * allow specifying custom deserializers for other input types through
   app configuration or view configuration

Includes work by Alexandre Bourget aka @abourget