GeoNode/geonode — pull request #1531 by simod (2014-06-13 13:29:12+00:00)
Title: Permissions on resourcebase and many other things

This PR moves the permissions on resourcebase from the children and makes the permission management done through django-guardian. This should help us to add more permissions easily. This should also help to speed up the search engine since now the security filter is done with guardian.
The permissions are now managed at a user level and the common permissions specs are like follows:
{'users':
{'user1': ['perm1','perm2']},
'groups':
{'group1': ['perm1','perm2']}
}

The Group app is now in core and The groups are a composition with the django groups (are called GroupProfile now), so guardian can also manage the permission on groups at a user level.

The Service app is now in core and the Service is a Resourcebase, thus inherits the permissions.

The auth user is swapped with people.Profile which is now the standard geonode user and inherits from the AbstractUser. I had to fork some of the packages that were not yet compliant with the swappable users (django 1.5+) and are/will be released in pypi as geonode packages.

The geonode.security app is lighter and the various *RoleMappings tables are gone.

**What is missing?**
Right now the groups permissions are managed through the GroupProfile and there's not anymore the "authenticated" permission by default. To achieve the same a dedicated group must be created (we can ship one in the fixtures). The permissions widget allows permission for anyone or different users/group per permission.