[carddav] Support addressbook-info responses to user-principal requests

Some CardDAV server implementations do not return the expected response
to user-principal requests, but instead return addressbook-info data.
This commit adds detection for that case and skips the intermediate
discovery steps when such a response is returned by the server.

Also, some CardDAV server implementations return a propfind request
response which includes information for the addressbook resource,
as well as any contact resources within that addressbook.  This commit
adds code to detect that case and ignore the result data for the
addressbook resource which is spurious.

Together, these changes add support for Memotoo CardDAV server.