[#1665] Add Member factory
[#1665] Add new_tests.helpers.change_config() decorator

This allows you to temporarily change a CKAN's config value during a test.
It'll restore the values to what they were before, after you test is ran.
[#1665] Add ckan.auth.default_group_or_org_permissions config variable

This allows you to set the permissions that every user has to every group and
organization by default. This allows you to, for example, allow any user to add
a dataset to a group, simply by adding:

    ckan.auth.default_group_or_org_permissions = manage_group

To your CKAN .ini file.

In a more abstract level, what this change does it allowing you to change the
permissions to the implicit "default" role. Right now, a user can have the
"admin", "editor", and "member" roles in a group or organization. But,
implicitly, there's also a "default" role (i.e. not having a role at all).
Before this change, you couldn't change the permissions that this default role
had. Now you can.

I could've done this by making this role explicit in the
`new_authz.ROLE_PERMISSIONS` dict. I didn't do that because I wanted to allow
the user to change simply by changing the .ini file. Also, these roles are used
by the Member model to save the n-to-n relationship between users and
groups/organizations. It would probably be more complex to add a role that
wasn't supposed to be saved in the database. My solution felt simpler.