oauth2: Let backends extract the code or token themselves

Certain OAuth2-like, but not exactly OAuth2, services do not follow
the standard mechanisms for extracting the access token or auth code
from the redirect URI. They use some non-standard technique to do so.
Let us try to accommodate them by allowing a provider specific hook
which we will invoke only if it is implemented.

https://bugzilla.gnome.org/show_bug.cgi?id=704564
Add Pocket support

Based on the documentation at:
http://getpocket.com/developer/docs/authentication

Icons by Jakub Steiner originally from:
https://raw.github.com/gnome-design-team/gnome-icons/master/web-accounts/tango/src/web-accounts.svg

https://bugzilla.gnome.org/show_bug.cgi?id=704564
examples: Add a Pocket example

This example adds the passed URL to the first Pocket account
listed setup in GOA. Optionally, you can pass a tweet ID which
would be used to show where the user got the URL from.

https://bugzilla.gnome.org/show_bug.cgi?id=704564
oauth2: Make the errors consistent

The colon works better than the previous format for error messages
which can be a few words long.

https://bugzilla.gnome.org/show_bug.cgi?id=704564
doc: Add goa_oauth2_provider_process_redirect_url

https://bugzilla.gnome.org/show_bug.cgi?id=704564
oauth2: Fix typo

Fallout from f5b66f7d681b4f4a35867c7d9dba556cad820ea0
provider: Clean up the public header

We do not support out-of-tree providers. Therefore, there is no need to
export the definition of GoaProvider and GoaProviderClass.
Tajik translation updated
Prepare 3.11.4
Updated Spanish translation
Finnish translation update
Remove unused GoaSpinnerButton widget

Fixes: https://bugzilla.gnome.org/689609
Update Chinese simplified translation
Updated Czech translation
Updated Brazilian Portuguese translation