core: Add a GDataOAuth2Authorizer for OAuth 2.0 support

This adds a new GDataAuthorizer subclass to support OAuth 2.0
authorisation, which is needed for the Google Tasks unit tests.

This includes support for all Google OAuth 2.0 features (note that
Google’s implementation of OAuth 2.0 is not entirely standard, so this
OAuth 2.0 authoriser cannot be used outside of Google’s services). It
includes full unit tests too.

New API:
 • GDATA_OAUTH2_REDIRECT_URI_OOB
 • GDATA_OAUTH2_REDIRECT_URI_OOB_AUTO
 • GDataOAuth2Authorizer

https://bugzilla.gnome.org/show_bug.cgi?id=646285
tests: Call setlocale() on startup

So that the correct character encoding is set for all tests.
build: Increment version to 0.17.0
Updated POTFILES.in
update Punjabi Translation for 3.14 release
core: Handle ‘etag’ and ‘kind’ members in JSON feeds

Set the GDataFeed:etag property and ignore the kind.
core: Don’t unset refresh token on refreshing OAuth 2.0 authorisation

When refreshing an OAuth 2.0 authorisation, only a new access token is
returned by the server — the refresh token is left unchanged, so a new
one is not returned. Do not use that as an excuse to forget the existing
refresh token.
tasks: Handle an additional form of AUTHENTICATION_REQUIRED error

Apparently there are two ‘reason’ codes which correspond to this.
tasks: Add preconditions for tasklist IDs being set when inserting tasks

Can’t insert a task to a non-tasklist.
tests: Add networked tests for the Google Tasks service

This brings test coverage of the gdata/services/tasks/ directory up to
84% of lines and 90% of functions, which is good enough.

https://bugzilla.gnome.org/show_bug.cgi?id=657539
Updated German translation
docs: Fix a typo in the README
tests: Remove unnecessary non-NULL test

It was confusing Coverity.

Coverity issue: #74584
core: Add padding members to class structures

This gives us flexibility for soft ABI breaks in future if needed, after
we lock down the ABI entirely.
core: Mark all API as stable and impose API and ABI stability guarantees

It’s time for libgdata to grow up and start guaranteeing some stability
for its users. In this vein, it’s already been API stable for around 3
years (since 0.9.1) — it’s about time that was made explicit.

http://upstream-tracker.org/versions/libgdata.html is quite interesting.
Add --disable-tests to skip the building of tests

https://bugzilla.gnome.org/show_bug.cgi?id=739395