Support first time login profile feature
For public instances like Playground, users need to agree to a terms of service and provide some basic information. This is a mandatory interaction.
If Workbench.UserProfileFormFields is present and the required fields are not filled in, we need to direct the user to fill out the profile before they can proceed.
The fields used in this interface an on the user profile page should be rendered based on fields specified in UserProfileFormFields (currently they are hard coded!)
This currently uses its own unique (and very basic) spec for fields. It would be better to use either the metadata vocabulary (used for editing controls for collection/group properties), or schema salad definitions (used for editing controls for workflow inputs). This would facilitate some code reuse for rendering and validation.