For being able to easily debug and test the checkpoints which are
adding, modifying or deleting a user the response should be the
affected user object. Not only its ID.
- Improves the semantics and scope of the updatedUser() by moving
operations in updateUserRequest's updatedUser() method.
- Fixes the marshaling of the updateUserRequest by renaming and
embedding the already existing type.
- Fixes bug of password hashing by using `omitempty` tags in the
update struct.
Instead of using the json.Marshal() we can user `gin.H` type of the
response that will be passed through an XMLMarshaler. In that case
we don't even need the responses structs!!