Implementation of guadian custom permissions

This PR implements or ends implementing the following django-guardian custom permissions, that will integrate the existing standard ones (change_resourcebase, add_resourcebase, delete_resourcebase):

* view_resourcebase
* change_resourcebase_metadata
* change_resourcebase_permissions
* download_resourcebase
* publish_resourcebase
* change_layer_data
* change_layer_style

All of the permissions are tested, and the user interface has been updated to let the user manage the new permissions structure for every GeoNode object type (layer/map/document)
Some basic documentation update is provided.

Some observations:

* view_resourcebase and change_resourcebase_metadata must be handled in the catalog as well, see #1726 
* download_resourcebase is only consistent with the GeoNode interface. If a user is able to guess the WFS link for a layer, he will be still able to download it. This should be solved by proxying GeoServer and implementing GNIP-47
* change_layer_style is handled proxying the REST request to GeoServer, therefore the GeoServer plugin has not been impacted by this
* publish_resourcebase implementation will be provided with a different PR in the next days
Could you remove 'add_layer', 'change_layer', 'delete_layer' because it would be an error to use them.