Split ListenFds into its own library