Store user profile in a dedicated profile model instead of using a custom user model

This will allow us to use the Django admin to manage users which is not the case as of today (trying to create a user makes everything blow up). Also that way we keep the core user information separated from his profile.