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.
assign pages link/formset not shown anymore when no role selected
Merge pull request #17 from pbs/non-site-wide-UI

UI for selecting an user's pages that is in a non-site-wide role and other refactorings