Move xpc connection creation

Instance variable are not available in alloc because self is the class, and
the instance hasn't been allocated or initialised. This meant we couldn't get
access to the service name ivar. Wrapped xpc_connection_t in a struct that Ruby
can wrap and delayed creation until XPC#connect