[#299] Clear up changes to Pylons' config between tests

We also, instead of always loading test.ini in these tests, we use whatever Pylons loaded.
[#299] Reload AuthFunctions if couldn't find the action we're looking for

The problem I found was when you're testing a bunch of things
sequentially. Then, the first time that method is called, it
loads all known AuthFunctions and puts into a cache. Then it
only checks that cache.

But what happens if some code, after this has happened, adds
a new AuthFunction? It never gets added to the cache.

With this change, if we have the requested function on cache,
we use it. If not, we refresh the cache and see if something
changed.
[#299] Clear test data after each test is run

This might not be the best way to do it. It's too repetitive, but it's
better than leaving trash behind.

We might investigate running the tests inside a transaction, and rolling
back when we're done (is it done already?).
[#299] Run ckan and ckanext tests on Travis