Add hooks so packages can modify profiles

Add the following hooks:
 - ``addToUserSchema``: fields to add to the (currently unused) user
   Schema
 - ``postAuthor``: templates to use when rendering the post author in the
   byline
 - ``userProfileDisplay``: additional templates to add to the user
   profile display.
 - ``userProfileEdit``: additional templates to add to the user profile
   editing form.
 - ``userProfileFinishSignup``: additional templates to show in the view
   for completing user signup (adding email, username, etc).
 - ``userEditRenderedCallbacks``: Callbacks executed on "rendered" for
   user_edit view.
 - ``userEditClientCallbacks``: Callbacks used to further process user
   properties before saving changes in user_edit view.
 - ``userProfileCompleteChecks``: Functions called to determine whether
   a user profile is "complete" (e.g. has email, username, and whatever
   else).

These hooks facilitate package authors changing which profile fields are
displayed, which profile fields are required, and how to display
usernames next to posts.