+ *
+ * When the child query is done, ctx->callback will be called. The
+ * child will already have been taken off both the global list of
+ * queries in ads and the list of children in the parent. The child
+ * will be freed when the callback returns. The parent will have been
+ * taken off the global childw queue iff this is the last child for
+ * that parent. If there is no error detected in the callback, then
+ * it should call adns__query_done if and only if there are no more
+ * children (by checking parent->children.head). If an error is
+ * detected in the callback it should call adns__query_fail and any
+ * remaining children will automatically be cancelled.