factored out EditUserView from Andrei's add user popup

Goals are

- to reuse for for adding and editing users
- to support flexible client-side validation
- to allow section to be entered

Added an EditedUser model object, since a User object alone
doesn't enough info on its own.  Users will typically be
edited in the context of a course, where details such as
registration type and section are important.