Level and duration fields are inverted during the update of challenges

Everything is in the title: if you try to change the duration of a challenge for example, it will change the `default_points` field.

While I'm at it, why don't we pass a `Challenge` object to `updateDescription` instead of all the fields?