Added endpoint to support modification of user profile

The registration serializer is now dynamically configurable using a
fields parameter to specify which fields are required. For the
registration workflow, all fields are required, but for the updating
case, only the ones specified in the parameters of the HTTP request
will be necessary.

I’m really not sure if this is the best way to do this, but it made
sense to me at the time. We can refactor if necessary.