Autodiscovery using DNS SRV/TXT records

Implemented autodiscovery of carddav services using DNS SRV/TXT records and the /.well-known/carddav path as described in http://tools.ietf.org/html/draft-daboo-srv-caldav-10.

Tested with Google contacts and iCloud.

If properly set up on the server side, it is sufficient to just enter the service domain (e.g. google.com or icloud.com). The host names and ports of the carddav services will be discovered using DNS SRV lookups, the addressbook path using a DNS TXT lookup. If no paths are provided by DNS, /.well-known/carddav and URI are tried. Discovery of the principal path and the addressbook home using the approrpiate PROPFIND requests is still performed as it used to. Also, if the user enters a full URL, it will be checked for being an addressbook collection first, so manually providing the path is still possible.

Only SSL connections will be automatically attempted. To enforce an unencrypted connection, the user has to explicitly provide http:// protocol in the URL field.