Faits :
A.
A.a. X._, propriétaire d'une parcelle à Genève, a conclu un contrat d'entreprise générale avec Z._ SA, devenue en 2013 A._ SA, pour la réalisation sur son bien-fonds d'un bâtiment comportant seize appartements; le prix forfaitaire de l'ouvrage était de 5'230'000 fr.
Le 17 décembre 2009, Z._ SA a ouvert contre X._ devant les autorités genevoises une action en paiement du solde du prix de l'ouvrage. La demanderesse a conclu à ce que la défenderesse soit condamnée à lui verser le montant de 79'885 fr. 95 avec intérêts à 5% l'an dès le 4 août 2009 et à ce que soit ordonnée l'inscription définitive d'une hypothèque légale des artisans et entrepreneurs à concurrence de ce montant.
Dans ses réponse et demande reconventionnelle du 14 mai 2010, la défenderesse a admis devoir le solde du prix de l'ouvrage, par 79'885 fr. 95 avec intérêts, réclamé par la demanderesse et a fait valoir une créance " reconventionnelle " de 112'529 fr. à titre de préjudice subi en raison de la livraison tardive de l'immeuble et de divers défauts.
Seules sont encore litigieuses les contre-créances représentant un total de 41'000 fr., soit 16'000 fr. en raison de l'absence d'armoires intérieures et 25'000 fr. pour le non-crépissage du socle en béton de l'immeuble.
Par jugement du 23 février 2012, le Tribunal de première instance de Genève a admis la demande, condamné la défenderesse à verser à la demanderesse le montant de 79'885 fr. 95 avec intérêts à 5% l'an dès le 24 septembre 2009 et ordonné l'inscription définitive d'une hypothèque légale de ce montant. Il a déclaré irrecevable, respectivement rejeté la demande "reconventionnelle".
Par arrêt du 31 août 2012, la Cour de justice du canton de Genève a déclaré irrecevable l'appel de la défenderesse.
La défenderesse a interjeté un recours en matière civile au Tribunal fédéral le 3 octobre 2012.
A.b. Quelques jours plus tôt, le 26 septembre 2012, la défenderesse a payé le montant auquel elle avait été condamnée, soit 79'885 fr. 95 en capital et 11'982 fr. 90 en intérêts, ainsi que les frais et dépens mis à sa charge, par 18'799 fr. La question de savoir si ce paiement était conditionnel (faute d'effet suspensif du recours en matière civile au Tribunal fédéral) ou non est litigieuse.
A.c. Par arrêt du 9 janvier 2013 (cause 4A_587/2012), le Tribunal fédéral a admis le recours de la défenderesse dans la mesure où il était recevable, annulé l'arrêt cantonal du 31 août 2012 et renvoyé la cause à la Cour de justice pour nouvelle décision.
Le Tribunal fédéral a jugé que l'appel de la défenderesse était recevable, car ses conclusions permettaient de reconnaître ce qu'elle voulait (ne pas être condamnée à payer 79'885 fr.95 à sa partie adverse et ne pas tolérer l'inscription d'une hypothèque légale). En revanche, la défenderesse n'avait pas réclamé en appel de manière recevable un paiement à la demanderesse, si bien que seule l'action principale demeurait litigieuse. La cause devait donc être retournée à la Cour de justice pour qu'elle examine si la motivation de l'appel était suffisante et si les autres conditions de recevabilité étaient satisfaites et, dans l'affirmative, pour qu'elle se saisisse de l'appel et contrôle le jugement rendu sur l'action principale.
A.d. Statuant après renvoi, la Cour de justice, par arrêt du 30 août 2013, a considéré que le Tribunal fédéral a définitivement rejeté ( recte : déclaré irrecevable) l'appel sur l'action reconventionnelle et que seules restaient litigieuses l'action principale et les prétentions invoquées en compensation par la défenderesse. En ce qui concerne ces dernières, la cour cantonale a considéré que la défenderesse ne disposait d'aucune contre-créance en indemnisation d'un prétendu préjudice consécutif à une éventuelle livraison tardive de l'ouvrage, mais qu'elle devait être autorisée à prouver l'existence des défauts allégués et les moins-values correspondantes, notamment par expertise, de sorte qu'il se justifiait de renvoyer la cause au Tribunal de première instance pour instruction complémentaire et nouvelle décision.
B.
B.a. Reprenant la cause, le Tribunal de première instance a tenu une audience de comparution des mandataires des parties le 26 novembre 2013, au cours de laquelle le mandataire de la demanderesse a indiqué que la prétention de celle-ci avait été éteinte par le paiement effectué par la défenderesse le 26 septembre 2012 et qu'elle n'avait donc plus de créance à faire valoir à l'encontre de celle-ci, ce qu'elle a confirmé dans ses écritures finales.
La défenderesse n'a rien objecté sur ce point (art. 105 al. 2 LTF).
Par jugement du 20 février 2015, le Tribunal de première instance a constaté le retrait avec désistement d'action de la demande principale, devenue sans objet (sic).
B.b. Par arrêt du 11 septembre 2015, la Cour de justice a rejeté l'appel de la défenderesse et confirmé ce jugement.
C.
La défenderesse exerce un recours en matière civile au Tribunal fédéral contre l'arrêt précité. Elle conclut principalement à son annulation en tant qu'il a prononcé l'irrecevabilité des conclusions qu'elle avait prises et à sa réforme en ce sens que sa créance compensatoire est admise à concurrence de 41'000 fr., somme qui doit lui être remboursée avec intérêts dès le 24 septembre 2012; subsidiairement, elle conclut à l'annulation de l'arrêt attaqué et au renvoi de la cause à la cour cantonale, avec pour instruction de juger au fond les créances compensatoires (armoires et socle).
L'intimée conclut principalement à l'irrecevabilité du recours, subsidiairement à son rejet, l'arrêt attaqué étant confirmé.
Considérant en droit :
1.
1.1. Contrairement à ce que croit la recourante, la cour cantonale n'a pas déclaré ses conclusions irrecevables, mais elle les a rejetées. Elle a ensuite confirmé le jugement attaqué en tant qu'il a pris acte du désistement d'action (avec autorité de la chose jugée) de la demanderesse - sur sa propre prétention - et rayé la cause du rôle; il en résulte que la cour cantonale a refusé de statuer sur les contre-prétentions à raison des défauts que la défenderesse avait invoquées initialement en compensation et, vu le paiement opéré le 26 septembre 2012, désormais réclamées en remboursement.
En tant qu'il est interjeté contre le refus de la cour cantonale de statuer sur les contre-prétentions invoquées par la défenderesse et de condamner la demanderesse à lui en rembourser le montant, le recours est dirigé contre une décision finale (art. 90 LTF; ATF 134 III 426 consid. 2.2). Interjeté en temps utile (art. 100 al. 1 LTF) par la partie qui a succombé dans ses conclusions prises devant l'autorité précédente, contre une décision rendue sur appel par le tribunal supérieur du canton (art. 75 LTF) statuant, après arrêt de renvoi du Tribunal fédéral, dans une cause de nature civile (art. 72 al. 1 LTF) et pécuniaire, dont la valeur litigieuse est supérieure à 30'000 fr. (art. 51 al. 1 let. a et al. 4, art. 74 al. 1 let. b LTF), le présent recours en matière civile est ouvert aux mêmes conditions que sous l'empire de l'ancien art. 66 OJ (arrêts 4A_71/2007 du 19 octobre 2007 consid. 2.2; 9C_522/2007 du 17 juin 2008 consid. 3.1 et les références).
1.2. L'état de fait a été complété sur la base du procès-verbal de l'audience du 26 novembre 2013 (art. 105 al. 2 LTF).
2.
2.1. Dans son arrêt de renvoi du 9 janvier 2013, le Tribunal fédéral avait considéré que, bien que confuses, les conclusions en appel de la défenderesse tendaient au rejet de l'action principale en paiement du solde du prix de l'ouvrage. Si elle reconnaissait devoir ce prix, la défenderesse lui opposait en compensation des contre-prétentions, dont le solde aurait dû être invoqué à titre reconventionnel. Toutefois, faute de conclusions reconventionnelles suffisamment précises, le Tribunal fédéral avait estimé que seule l'action principale demeurait litigieuse. Il avait donc renvoyé la cause à la cour cantonale pour qu'elle examine si les autres conditions de recevabilité de l'appel étaient remplies et, si c'était le cas, pour qu'elle tranche l'action principale, laquelle portait tant sur la prétention principale en paiement du solde du prix que sur les contre-prétentions invoquées en compensation en raison des défauts de l'ouvrage.
Le Tribunal de première instance, auquel la cause avait ensuite été renvoyée par arrêt de la Cour de justice du 30 août 2013, a tenu une audience de comparution des mandataires des parties le 26 novembre 2013. Lors de cette audience, le conseil de la demanderesse a allégué que la prétention de sa cliente était éteinte en raison du paiement effectué par la défenderesse le 26 septembre 2012 et qu'elle n'avait donc plus de créance à faire valoir à l'encontre de celle-ci, l'hypothèque légale provisoire ayant en outre été radiée. Le mandataire de la défenderesse n'a rien objecté sur ce point. Le Tribunal a donc constaté le retrait avec désistement d'action de la demande principale, "devenue sans objet".
Statuant sur appel de la défenderesse, la cour cantonale, à la suite du Tribunal de première instance, a constaté qu'il est apparu pour la première fois dans le cadre de la procédure, qu'en date du 26 septembre 2012, la défenderesse a effectivement payé à la demanderesse, sans réserve ni condition aucune, la totalité des montants qui lui étaient réclamés. Elle a estimé que c'est à raison que le Tribunal a tenu compte de ces faits nouveaux - le paiement effectué par la défenderesse et le désistement d'action de la demanderesse -, faits que la demanderesse avait invoqués dès qu'elle en avait eu l'occasion, conformément à l'ancienne loi de procédure civile genevoise. Elle a donc confirmé le désistement d'action de la demanderesse, partant que la cause n'avait plus d'objet et qu'il n'y avait plus à statuer sur les exceptions de compensation soulevées par la défenderesse.
2.2. Le principe de l'autorité de l'arrêt de renvoi du Tribunal fédéral - que prévoyait expressément l'art. 66 al. 1 OJ et qui valait également en cas d'annulation sur recours de droit public, pour violation des droits constitutionnels (ATF 122 I 250 consid. 2) - est un principe juridique qui demeure applicable sous l'empire de la LTF (ATF 135 III 334 consid. 2 p. 335; arrêt 5A_139/2013 du 31 juillet 2013 consid. 3.1, non publié in ATF 139 III 391 mais in Pra. 2014 n° 19 p. 136). En vertu de ce principe, l'autorité cantonale à laquelle une affaire est renvoyée est tenue de fonder sa nouvelle décision sur les considérants de droit de l'arrêt du Tribunal fédéral; sa cognition est limitée par les motifs de l'arrêt de renvoi, en ce sens qu'elle est liée par ce qui a déjà été tranché définitivement par le Tribunal fédéral, ainsi que par les constatations de fait qui n'ont pas été critiquées devant lui (ATF 131 III 91 consid. 5.2 p. 94 s.; arrêt 5A_139/2013 du 31 juillet 2013 déjà cité, ibidem).
L'autorité à laquelle la cause est retournée peut toutefois tenir compte de faits nouveaux sur les points qui ont fait l'objet du renvoi, mais ceux-ci ne peuvent être ni étendus, ni fixés sur une base juridique nouvelle (ATF 135 III 334 consid. 2 p. 335; 131 III 91 consid. 5.2 p. 94; arrêt 4A_354/2014 du 14 janvier 2015 consid. 2.1 et les références). L'admissibilité de l'allégation de faits nouveaux dépend de la procédure applicable devant l'autorité à laquelle la cause est renvoyée: celle-ci détermine s'il est possible de présenter de nouveaux allégués ou de nouveaux moyens de preuve (ATF 116 II 220 consid. 4a p. 222).
Comme l'annulation de la décision et le renvoi de la cause pour nouvelle décision ont pour effet de reporter la procédure au stade où elle se trouvait immédiatement avant que l'instance ne se soit prononcée, que l'autorité ne se trouve pas saisie d'une nouvelle procédure, mais reprend la procédure qui n'est pas close, l'ancien droit de procédure cantonal qui était applicable le demeure après le renvoi (art. 404 al. 1 CPC; arrêt 4A_641/2011 du 27 janvier 2012 consid. 2.2).
En l'espèce, dès lors que l'arrêt de renvoi du Tribunal fédéral, puis celui de la Cour de justice ont renvoyé la cause au Tribunal de première instance et que l'action a été introduite le 17 décembre 2009, celui-ci doit appliquer l'ancienne loi de procédure civile genevoise en vertu de l'art. 404 al. 1 CPC.
2.3. Il est vrai que, d'après l'arrêt de renvoi du Tribunal fédéral, le procès devait se continuer en instance cantonale sur la créance en paiement du solde du prix de l'ouvrage dont se prévaut la demanderesse et sur les diverses contre-créances invoquées en compensation par la défenderesse, que celle-ci a ultérieurement réduites à deux, à savoir l'absence d'exécution d'armoires, par 16'000 fr., et le non-crépissage du socle de l'immeuble, par 25'000 fr., représentant en tout 41'000 fr. Mais la recourante méconnaît que l'autorité de l'arrêt de renvoi n'interdit pas aux parties de faire valoir des faits nouveaux et au juge d'en tenir compte pour trancher les points renvoyés, soit en l'occurrence le paiement effectué par la défenderesse le 26 septembre 2012 et le désistement d'action communiqué le 26 novembre 2013.
Ces faits ont été introduits au procès cantonal conformément aux règles de la procédure civile genevoise, ce que la cour cantonale a constaté et que la recourante ne critique pas. Le paiement étant intervenu le 26 septembre 2012, soit après le premier arrêt cantonal du 31 août 2012, il était loisible à la demanderesse de l'alléguer après l'arrêt de renvoi du Tribunal fédéral, ce qu'elle a fait dès qu'elle en a eu l'occasion, comme l'a retenu la cour cantonale. La recourante ne le conteste pas. La demanderesse en a déduit que le paiement avait éteint sa prétention et qu'elle n'avait donc plus de prétention à faire valoir contre la défenderesse, ce qu'elle a également communiqué au Tribunal.
De son côté, la défenderesse n'a pas exposé devant le Tribunal de première instance que son paiement était intervenu parce que le recours en matière civile au Tribunal fédéral n'a pas d'effet suspensif de par la loi et que les conditions pour l'obtenir n'étaient pas remplies, de sorte qu'il s'agissait d'un paiement conditionnel. Elle avait certes exposé cette raison dans son mémoire de recours en matière civile adressé au Tribunal fédéral le 3 octobre 2012, mais l'existence d'un paiement conditionnel ne ressort pas de l'arrêt de renvoi. Il ne saurait ainsi être question de violation de l'arrêt de renvoi par la cour cantonale.
La défenderesse aurait dû porter à la connaissance du Tribunal de première instance que le paiement qu'elle avait effectué était conditionnel. Dans un procès soumis à la maxime des débats, il appartient en effet aux parties d'alléguer les faits et les offres de preuves qui forment, avec les conclusions, le cadre du procès, auquel le juge est lié et sur lequel il doit fonder son jugement (ATF 123 III 60 consid. 3a; arrêt 4A_566/2015 du 8 février 2016 consid. 4.2.1). Le paiement conditionnel n'ayant pas été allégué, on ne saurait reprocher à la cour cantonale d'avoir constaté que le paiement avait été effectué sans réserve ni condition.
Au vu des faits portés à sa connaissance, c'est sans violer le droit fédéral que la cour cantonale a considéré que, puisque la défenderesse n'avait fait valoir que des créances en compensation, soit des moyens de défense, le tribunal n'avait plus à statuer sur elles, étant donné que la prétention principale était liquidée par désistement d'action.
2.4. Contrairement à ce que soutient la recourante, le fait que l'intimée savait que le paiement n'était intervenu qu'en raison de l'absence d'effet suspensif du recours au Tribunal fédéral du 3 octobre 2012, ce que celle-ci ne conteste pas dans sa présente réponse au Tribunal fédéral, ne saurait entraîner un élargissement du cadre du procès devant les instances cantonales, cadre auquel ces instances étaient tenues. Le fait que le paiement soit inconditionnel dans la présente procédure n'a toutefois pas pour conséquence que la défenderesse a perdu ses contre-créances. Elle ne peut simplement pas les faire valoir en compensation dans la présente procédure. Elle ne peut pas non plus les réclamer à titre reconventionnel, le cadre du procès ne pouvant être élargi après arrêt de renvoi. La recourante se retrouve donc logiquement placée "en position de demanderesse", en ce sens précisément qu'elle peut uniquement faire valoir ses créances en raison des défauts au moyen d'une nouvelle action.
C'est également à tort que la recourante soutient que la cour cantonale aurait dû conclure du désistement que la demanderesse avait renoncé à se battre sur les contre-créances de 41'000 fr. et qu'elle devait donc lui allouer ses conclusions en remboursement de dite somme. Le paiement sans réserve ni condition retenu en procédure a éteint l'action de la demanderesse (ce qui explique son désistement d'action), mais il n'a pas eu pour conséquence une reconnaissance des créances invoquées en compensation. Celles-ci n'ont pas été tranchées.
Quoi qu'en pense la recourante, l'art. 107 al. 2 LTF n'autorise pas le Tribunal fédéral à se fonder sur un autre état de fait que celui constaté dans l'arrêt attaqué (art. 105 al. 1 LTF), pour tenir compte de faits relevant de la vérité matérielle, qui n'ont pas été introduits régulièrement et en temps utile au procès cantonal. La question - théorique en l'espèce - de savoir si le paiement effectué sous condition (en raison de l'absence d'effet suspensif du recours en matière civile selon l'art. 103 al. 1 LTF) pourrait faire l'objet d'une condamnation au remboursement par le Tribunal fédéral si la condition se réalise (c'est-à-dire si l'action principale est rejetée par le Tribunal fédéral) ou s'il doit être réclamé par une action en enrichissement illégitime (art. 62 ss CO), n'a pas à être tranchée en l'espèce.
3.
Il suit de là que le recours doit être rejeté, aux frais de son auteur (art. 66 al. 1 LTF). La recourante sera également condamnée à verser des dépens à l'intimée (art. 68 al. 1 et 2 LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 2'000 fr., sont mis à la charge de la recourante.
3.
La recourante versera à l'intimée une indemnité de 2'500 fr. à titre de dépens.
4.
Le présent arrêt est communiqué aux parties et à la Cour de justice du canton de Genève, Chambre civile.
Lausanne, le 18 mars 2016
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Kiss
Le Greffier : Ramelet