common: Add helpers to read and write plist files
idevice: Add udid attribute to idevice_connection_t for referencing devices
Refactor userpref logic to use plist format and implement trust dialog handling

iOS 7 introduced a new pairing workflow which increases security by showing a
trust dialog to the user before pairing with the host is allowed.
The userpref system was refactored to use the native plist format, too.
Configuration files of the native implementations are used on each platform.
Former configuration files are no longer in use and can be deleted.
lockdown: Allow starting services without the need for a running SSL session
idevicepair: Port to use the new userpref API and add systembuid command
userpref: Add copyright reference
lockdown: Add missing x509 extensions to match other platforms using OpenSSL
Fix broken build of GnuTLS and silence two compiler warnings
lockdown: Add missing x509 extensions to match other platforms using GnuTLS
Make sure to re-use the DeviceCertificate instead of generating a new one every time

This prevented iTunes from using a pairing made by libimobiledevice giving an error
that the device sent invalid data.
lockdown: Fix generation of x509 subject key identifier extension for GnuTLS
lockdown: Fix debug message during reconnect to show correct udid
lockdown: Refactor pair record generation/loading logic a bit for efficiency

The current code always requests the public key and set's the SystemBUID, even
if a pair record already exists which has these values ready. The change moves
logic to only do that during generation of new certificates.
userpref: Add missing argument docs for device_record_get_certs_as_pem()
lockdownd: remove unused udid variable in reconnect function