Remove PUT verb from available HTTP verbs because we don't support it's meaning

Take advantage of required_keys and optional_keys from get_schema
Add support for required columns and optional columns in the voluptuos schema returned by the model
Reorder some imports
Get rid of make_json_response as it's not useful anymore

Refactor alternative_auths from an array to a dictionary to save the auth used when creating the new user

Add some more exceptions