Allow specifying user when creating a group using the factory

With this, we're able to create a group owned by a specific user.
new_tests.helpers.call_auth now work for any auth type (update, create, ...)
[#1505] Fix bug when non-sysadmins invited users to organizations

The problem was with the .user_invite() auth function. Instead of adding 'id'
to the data_dict, I was adding it to the context. Fixed now.

I've also changed it to require a data_dict, and a data_dict['group_id'] (as
they're required anyway).

While I'm at it, I rewrote the tests into the new testing style.
Merge branch 'master' into 1505-invite-to-organization-causes-error
[#1505] PEP8
new_tests.helpers.call_auth now uses logic.check_access
Instead of importing NotAuthorized in test helpers, do it on the test file
Change way to call nose's assert_raises, so it works on Python 2.6
[#1505] Merge tests that verify that the user was invited and it is pending

This is a tiny compromise in readability (IMO) to make the tests a bit faster
[#1505] Test not only the method call, but also that we're returning the value
[#1505] Test for actual True-ness, and not truthiness.

If we don't add the ```is True```, any truthy value works (i.e. 'string').
Merge branch 'master' into 1505-invite-to-organization-causes-error

Conflicts:
	ckan/new_tests/factories.py
[#1505] Fix tests on Python 2.6
Merge branch 'master' of github.com:ckan/ckan into 1505-invite-to-organization-causes-error
[#1505] Remove assertions that group_member_create was called in the tests

If user_invite fails when group_member_create fails, and succeeds when
group_member_create succeeds, there's no need to assert that
group_member_create was actually called.
[#1505] Instead of accessing and then deleting an attribute, simply pop() it.
Merge branch '1505-invite-to-organization-causes-error'