LUN-954 -- Only unassign the user from the non-site-wide group once he has no more page permissions on any of the sites

* unassigning him otherise would cause him to loose his role on ALL sites, not just the one passed in as an argument to ungrant_from_user
* also do a couple of small refactorings to the non-site-wide unit tests
Use a readable name for the auto-generated site groups and no longer filter auto-generated groups in the User admin.

When a site's domain or a role name is changed, the site group's names get updated as well.

This has many advantages:
* using the auth.User Change User view a superuser can easily see all the sites a user has roles on
* seeing users not being assigned to any groups was kind of confusing (when they were actually assigned to auto-generated site groups)

Also renamed a couple of signal handlers and role methods.
Merge pull request #14 from pbs/LUN-954

LUN-954 -- Only unassign the user from the non-site-wide group once he has no more page permissions on any of the sites
Add migration for renaming the already existing autogenerated site groups
LUN-942 -- Add missing chosen sprite
Merge pull request #16 from pbs/LUN-942

LUN-942 -- Add missing chosen sprite
Merge pull request #15 from pbs/readable-site-group-names

Use a readable name for the auto-generated site groups and no longer filter auto-generated groups in the User admin.
LUN-826 Add support for non-site-wide roles in the UI

* uses a formset for each writer role
* each formset has a PageForm for each Page the user has access to
* refactor the user_setup view by extracting large portions of the logic in separate functions
* use an ajax call for lazy fetching an user's assigned pages. The lazy fetching is required because on a site with many users having non site wide roles it would take to long to render all of the page formsets upfront from the user_setup view
Merge branch 'master' into non-site-wide-UI

Conflicts:
	cmsroles/models.py
LUN-826 Create a more complex page hierarchy for the purpose of testing and rename a couple of tests
LUN-826 Written unit tests for the page selection functionality and made a couple of improvements to the views:

* class PageFrom is no longer duplicated in two views
* when the user formset is submited, if a user didn't change he's role don't ungrant and regrant the same role
LUN-826 In case a fetch_pages ajax call fails at least make sure that:

* the UI is in a consistent state
* the user gets notified
Merge branch 'master' into non-site-wide-UI

Conflicts:
	cmsroles/tests.py
Improvements and hanlding of a few corner cases:

* if a role managed global page permission is fiddeld with and assigned to multiple sites log an error rather than ignoring the situation
* handle the rare situation when a role's 'site widness' is changed between the moment the user setup page is rendered ant the moment the forms are submitted
Don't make a page formset fetch ajax request when the role is set but the user is not
Inlude the current site when requesting the pages formset.
Hide the assign pages link for new user-role forms
LUN-1035 No longer depend on non-role-managed page permissions for knowing which users have a role on a certain site
Fixed an argument issue for the manage page permissions command and written some unit tests for it
LUN-1035 Raise if the given role is site wide. Also provdie a more detailed help message.