[#1664] package_create+update: fix config permission check

Use the same permission checks for both package_update and package_create
and check all the applicable config options: anon_create_dataset,
create_unowned_dataset and create_dataset_if_not_in_organization
[#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.

Conflicts:
	ckan/new_tests/helpers.py

Conflicts:
	ckan/new_tests/helpers.py
[#1664] clear auth functions cache when changing config
[#1664] tests for anon users
[#1664] tests for logged in users
[#1664] fix tests