DW: Added a check for the submission key

Closes #627
One way to handle this would be to change `json_request2xform` into `create_instance_from_json`,  which checks the submission and returns an `error` as a string, and also handles the `safe_create_instance` call. So replacing lines 162-163 w/ `error, instance = create_instance_from_json(...`

The else clause on 165-168 can be moved to a `create_instance_from_xml(request.FILES)` helper.

Lines 170-175 can be removed.

Error response will need to be updated to handle the error being a string, you could add a line on 193 `elif isinstance(error, basestring): error_msg = err` but there's probably a more elegant way.

Thoughts on all of the above?