tests: Add a dummy GDataAuthorizer implementation

This will come in useful when testing services which don’t support
ClientLogin authorisation, such as Google Tasks. Such services require
OAuth authorisation, which requires user interaction. That puts up a big
barrier to running the unit tests frequently, and Google seem to provide
no ‘playground’ API key which could be used to bypass this requirement
for testing purposes.

The idea is that traces are recorded for tests using an OAuth
authoriser (requiring user interaction), then the dummy authoriser is
substituted when the tests are run offline against the pre-recorded
traces. This will require custom message matching in uhttpmock to ignore
the Authorization header, which will differ between the OAuth and dummy
authorisers.
docs: Remove unnecessary clean rules from documentation Makefile.am

These are now correctly included in gtk-doc.make.
core: Add an error code in GDataServiceError for exceeding the API quota

This adds API:
 • GDATA_SERVICE_ERROR_API_QUOTA_EXCEEDED
tasks: Add a custom error parser

The errors returned by the Google Tasks API are a simple JSON format
which allows for multiple error messages to be included. It appears to
be undocumented anywhere, so has been reverse engineered from examples
returned by the server.
tests: Add unit tests for the Google Tasks service

These are non-interactive and non-network tests, since I don’t currently
have time to get networked tests working for Google Tasks — they require
OAuth 2 support to land first (bug #646285).

By themselves, these non-network tests give 64% line coverage and 74%
function coverage of gdata/services/tasks/.
tests: Add support for the new SoupServer API

This increments the maximum libsoup dependency to ≤ 2.47.3, but does not
increment the minimum dependency.
core: Fix various minor mutex abuses

GLib has recently got stricter about abusing mutexes, and now no longer
allows:
 • Clearing a locked mutex.
 • Unlocking a non-locked mutex.
Both of which libgdata was doing, and now does no longer.
tasks: Simplify some code

This introduces no functional changes.
tasks: Output the ‘hidden’ property in generated JSON

It’s read-only, but that hasn’t stopped us outputting all the other
read-only properties. This can be reverted if real life testing proves
it’s a problem.
tests: WIP work to add networked Tasks tests