core: Load extra attributes from ‘kind’ categories

When a GDataEntry is created, it’s automatically given a ‘kind’ category
element, as this is the way the GData protocol identifies the schema
which applies to a given <entry>.

Previously, the ‘kind’ category from parsed XML would not override the
automatically-added category. This meant that if the XML contained extra
attributes, such as a label, they were effectively lost.

Fix this by always preferring the ‘kind’ category from the XML. Add a
test case, because test cases are cool.

https://bugzilla.gnome.org/show_bug.cgi?id=707477
tests: Tidy up cases in a switch statement

Coverity issue: #59767
tests: Fix copy–paste errors in the OAuth 1 tests

Coverity issues: #59766, #59765
contacts: Remove a redundant xmlFree() call

It was always called on NULL, and was confusing Coverity.

Coverity issue: #59764
tests: Add an extra assertion about pagination

Coverity issue: #59763
core: Disconnect a cancellable in GDataDownloadStream

Ensure to disconnect from the user-provided cancellable when finalising
a GDataDownloadStream.

Coverity issue: #59757
Release version 0.14.2