[#781] Begin improving IFacets docs

Better docstrings and an example extension for IFacets. Both still need
some work..
[#1386] Add factories for Dataset and Resources
[#1386] Allow to define auth user when using factories

When creating an instance of the factory, users can provide an 'auth_user'
keyword argument with the name of the user that should perform the action.
If they don't provide the 'auth_user' argument the site user will be used
(this user is a sysadmin). If the action should be performed anonymously
(ie no logged in user), auth_user=None should be provided.

Note that the keyword argument could not be named 'user', as some action
functions use this same parameter.
[#1386] PEP8 fixes
[#1364] Change labelling on homepage search area
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
Add a block for extension authors to extend
[#1532] Fix bug where url_for_static added leading slash in absolute urls
[#1519] Fix organization activity filter in dashboard

The old implementation had the same type for orgs and groups and when an
org was selected a 404 was returned because group_show was called.

I didn't go all the way down separating both, ie group_followee list
still returns both groups and orgs.
[#1519] Separate group / org follow actions
[#1519] Fix test
[#1594] Fix breakage in package groups page

The group.type field, when undefined and merged with a unicode string
returns a unicode, which causes a traceback thanks to `url_for` in
pylons not accepting unicode.
[#1612] Check before showing 'Show more $facet'