Starting to add user profiles into the user module

User profiles are designed to allocate set core/module provided roles to
individual users. The normal custom role allocation can still be used on
top of the profile allocation system.

Other things to do: update the user profile page/edit page with newly
added database table fields.