Sachverhalt:
A.
Mit Totalunternehmervertrag vom 14. März/24. Juli 2007 verpflichtete sich die A._ AG (Beklagte, Beschwerdeführerin) bzw. ihre Rechtsvorgängerin gegenüber der R._ AG zur Planung, Erstellung und Übergabe des Bauwerks "3 MEFH an der Strasse W._, V._, Grundstück Kat.-Nr. xxx, yyy, zzz". Die R._ AG begründete an den drei Grundstücken Stockwerkeigentum und verkaufte die Stockwerkeinheiten, wobei sie in den Kaufverträgen ihre Mängelrechte und Garantieansprüche gegenüber der Beklagten abtrat. In der Folge wurden Mängel an den Fassaden aller drei Häuser gerügt, die auch durch Nachbesserungsarbeiten der Beklagten nicht behoben worden seien.
B.
B.a. Nach erfolglosem Schlichtungsversuch wurde am 19. Januar 2015 beim Bezirksgericht Zürich Klage eingereicht mit dem Begehren, die Beklagte sei kostenfällig zu verpflichten, die Kosten der Ersatzvornahme für die Behebung der gerügten Mängel betr. Unzulänglichkeiten der verputzten Aussenwärmedämmung der Bauwerke U._, V._, zu bezahlen und hierfür einen Vorschuss in der Höhe der durch ein Gutachten festzustellenden mutmasslichen Kosten zu leisten, mindestens Fr. 1 Mio., sowie die vorprozessualen Parteikosten von Fr. 17'024.35 zu ersetzen, zuzüglich verschiedene Zinsbetreffnisse. Als "Klägerschaft" wurde genannt: "Stockwerkeigentümerschaften U._, V._" und anschliessend siebzehn natürliche Personen mit Vor- und Nachname. Das Bezirksgericht trat mit Beschluss vom 23. Juli 2015 nicht auf die Klage ein, da das Handelsgericht sachlich zuständig sei. Der Beschluss führte als "Klägerin" die " Stockwerkeigentümergemeinschaft U._, V._ " auf.
B.b. Unter der gleichen Parteibezeichnung wie in der vorgenannten Klage reichte die klagende Partei in der Folge einerseits am 31. August 2015 eine identische Klage beim Handelsgericht des Kantons Zürich ein und erhob anderseits am 14. September 2015 gegen den Beschluss des Bezirksgerichts Berufung beim Obergericht des Kantons Zürich. Mit Beschluss vom 21. Oktober 2015 sistierte das Obergericht das Berufungsverfahren.
Mit Beschluss vom 23. Oktober 2015 trat das Handelsgericht auf die Klage ebenfalls nicht ein. Dies, weil es das Bezirksgericht als sachlich zuständig erachtete (und nicht etwa aufgrund bereits anderweitiger Rechtshängigkeit derselben Sache).
Mit Beschluss vom 3. Dezember 2015 änderte das Obergericht sein Rubrum; an Stelle der "Stockwerkeigentümergemeinschaft U._, V._" nannte es fortan die einzelnen Stockwerkeigentümer mit Name, Vorname, Geburtsdatum, Bürgerort und Adresse als Kläger. Sodann führte es das Verfahren fort. Mit Urteil vom 9. März 2016 hiess es die Berufung gut; das Bezirksgericht sei sachlich zuständig für die Klage. Es hob den Beschluss des Bezirksgerichts auf und wies die Sache zur Ergänzung des Verfahrens und zu neuer Entscheidung an dieses zurück.
C.
Mit Beschwerde in Zivilsachen beantragt die Beklagte dem Bundesgericht im Wesentlichen, das Urteil des Obergerichts sei kostenfällig aufzuheben und auf die (kantonale) Berufung sei nicht einzutreten; eventualiter sei die (kantonale) Berufung abzuweisen (Ziff. 1). Eventualiter dazu sei das angefochtene Urteil aufzuheben und die Sache zu neuer Beurteilung an das Obergericht, subeventualiter an die erste Instanz, zurückzuweisen (Ziff. 2). Die Gegenseite trägt auf kostenfällige Abweisung der Beschwerde an. Die Vorinstanz verzichtete auf eine Vernehmlassung.
Die Parteien haben unaufgefordert repliziert und dupliziert.

Erwägungen:
1.
Die vorliegende Streitigkeit hat eine vermögensrechtliche Zivilsache zum Gegenstand (<ref-law>) und der Streitwert übersteigt die massgebliche Streitwertgrenze (<ref-law>). Die Beschwerde richtet sich gegen einen selbstständig eröffneten Zwischenentscheid über die Zuständigkeit (<ref-law>) eines letztinstanzlichen kantonalen Gerichts (<ref-law>). Sie ist fristgerecht (<ref-law>) von der Partei eingereicht worden, die mit ihrem Nichteintretensantrag unterlegen ist (<ref-law>). Die Beschwerde ist - unter Vorbehalt hinreichender Anträge und einer rechtsgenügenden Begründung (Art. 42 Abs. 2 i.V.m. <ref-law>) - zulässig.
2.
Der Totalunternehmervertrag vom 14. März/24. Juli 2007 zwischen der Rechtsvorgängerin der Beschwerdeführerin und der R._ AG enthält in Ziffer 17.8 folgende Klausel zur Gerichtsbarkeit:
"Gerichtsstand ist Zürich 1. Zuständig ist in erster Instanz ausschliesslich das Handelsgericht des Kantons Zürich".
Nach dem Verständnis beider Parteien wurde damit nicht nur eine Regelung über die örtliche Zuständigkeit getroffen, sondern auch das Handelsgericht als sachlich zuständiges Gericht vereinbart. Die Beschwerdeführerin beruft sich auf diese Klausel.
2.1. Zum Zeitpunkt des Abschlusses dieser Vereinbarung war noch das kantonale Verfahrensrecht in Kraft. Nach den unbestrittenen Feststellungen der Vorinstanz erfüllte die Klausel zur Gerichtsbarkeit die Voraussetzungen des zürcherischen Rechts und war nach diesem gültig. Gemäss <ref-law> bestimmt sich die Gültigkeit einer Gerichtsstandsvereinbarung nach dem Recht, das zur Zeit ihres Abschlusses gegolten hat. Diese Bestimmung bezieht sich jedoch nur auf Vereinbarungen über die örtliche, nicht auch auf solche über die sachliche Zuständigkeit (<ref-ruling> E. 3.3 S. 478 f.). Die Gültigkeit der vorliegenden Vereinbarung über die sachliche Zuständigkeit und allgemein die sachliche Zuständigkeit beurteilt sich daher nach den Bestimmungen der schweizerischen Zivilprozessordnung, soweit diese Vorschriften dazu enthält (<ref-law>), was bezüglich der Handelsgerichte der Fall ist (<ref-law>).
2.2. Die Vorinstanz stellte fest, die Vertragsparteien des Totalunternehmervertrags seien beide im Handelsregister eingetragen gewesen. <ref-law> räume keine Dispositionsfreiheit hinsichtlich der sachlichen Zuständigkeit ein, wenn eine handelsrechtliche Streitigkeit i.S.v. <ref-law> vorliege, weshalb ihre diesbezügliche Vereinbarung unzulässig sei (und folglich von vornherein nicht mit den zedierten Mängelrechten mitübertragen worden sein konnte). Die Stockwerkeigentümer seien - mit einer Ausnahme - nicht im Handelsregister eingetragen, weshalb eine Zuständigkeit des Handelsgerichts nach <ref-law> entfalle. Die Beschwerdeführerin könne sich auch nicht auf <ref-law> berufen. Diese Bestimmung räume nicht im Handelsregister eingetragenen Klägern ein Wahlrecht ein; vorliegend hätten diese das Wahlrecht auch ausgeübt, jedoch nicht das Handelsgericht, sondern das Bezirksgericht als sachlich zuständiges Gericht gewählt. Damit könne offenbleiben, ob im Anwendungsbereich von <ref-law> eine Prorogation möglich sei und ob eine solche Vereinbarung erst nach Entstehen der Streitigkeit abgeschlossen werden könne.
2.3. Die Beschwerdeführerin rügt, die Auslegung der Vorinstanz verstosse gegen die bundesgerichtliche Rechtsprechung zu <ref-law>. In <ref-ruling> E. 3.1 S. 477 habe das Bundesgericht zwar entschieden, die sachliche Zuständigkeit der Gerichte sei der Disposition der Parteien entzogen. Diese könnten nicht vereinbaren, einen Streit einem anderen als dem vom Gesetz bezeichneten staatlichen Gericht zu unterbreiten, es sei denn, das Gesetz sehe eine Wahlmöglichkeit vor, was im damals beurteilten Fall zu verneinen gewesen sei, da alle Parteien im Handelsregister eingetragen waren. Damit habe das Bundesgericht unmissverständlich festgehalten, eine Vereinbarung betreffend die sachliche Zuständigkeit sei dann möglich, wenn das Gesetz eine Wahlmöglichkeit vorsehe. <ref-law> sehe eine solche vor und diese Bestimmung sei hier in Bezug auf die klagende Partei anwendbar, weshalb die Vereinbarung über die sachliche Zuständigkeit des Handelsgerichts gültig sei.
2.4. Damit verkennt die Beschwerdeführerin die bundesgerichtliche Rechtsprechung. In <ref-ruling> hat sich das Bundesgericht einlässlich mit dem sog. Klägerwahlrecht gemäss <ref-law> auseinandergesetzt. Es verwies namentlich auch auf die Entstehungsgeschichte von <ref-law>, die zeige, dass der Gesetzgeber mit der Wahlmöglichkeit der nicht im Handelregister eingetragenen Klagpartei eine zusätzliche Option für Nicht-Kaufleute schaffen wollte (E. 2.9 a.A.). Das Wahlrecht ist ein einseitiges; es besteht nur für die klagende Partei, die nicht im Handelsregister eingetragen ist. Ihrer im Handelsregister eingetragenen Gegenseite steht demgegenüber kein Wahlrecht zu, wenn sie klagt. Wäre im Anwendungsbereich von <ref-law> eine vorgängige Zuständigkeitsvereinbarung möglich, würde man die nicht im Handelsregister eingetragene Klagpartei gerade jenes Vorteils berauben, den der Gesetzgeber ihr - und eben nur ihr - einräumen wollte, was in einem Fall wie dem vorliegenden, wo es nicht einmal sie selber war, die die entsprechende Klausel vereinbarte, besonders deutlich zu Tage tritt. Dies würde dem Grundgedanken einseitig begünstigender Zuständigkeitsbestimmungen zuwiderlaufen, wie auch die Regeln bezüglich Vereinbarungen über die örtliche Zuständigkeit bestätigen. Gerichtsstandsvereinbarungen können zwar gemäss <ref-law> grundsätzlich hinsichtlich künftiger Streitigkeiten getroffen werden, jedoch dann nicht, wenn sie sich auf zwingende oder teilzwingende Gerichtsstände beziehen. Teilzwingend sind u.a. die in <ref-law> vorgesehenen, einseitig begünstigenden Gerichtsstände (<ref-law>). Hintergrund dieser Untersagung von vorgängigen Gerichtsstandsvereinbarungen ist, dass die durch den teilzwingenden Gerichtsstand geschützte Partei nicht durch Vorausverzicht auf ihren Schutz soll verzichten können (<ref-law>; DOMINIK INFANGER, in: Basler Kommentar, Schweizerische Zivilprozessordnung, 2. Aufl. 2013, N. 7 zu <ref-law> und N. 6 zu <ref-law>; FRIDOLIN WALTHER, in: Berner Kommentar, Schweizerische Zivilprozessordnung, Bd. I, 2012, N. 6 f. zu <ref-law>; HAAS/STRUB, in: Kurzkommentar ZPO, Oberhammer und andere [Hrsg.], 2. Aufl. 2013, N. 7 f. zu <ref-law>). Gleichermassen findet sich ein derartiger Schutz der durch einseitig begünstigende Zuständigkeitsnormen privilegierten Person auch in den Erlassen wieder, die die Zuständigkeit in internationalen Verhältnissen regeln (vgl. <ref-law> [SR 291] sowie Art. 9 ff., 16 f. und 19 ff. LugÜ [SR 0.275.12]).
Eine vorgängige Vereinbarung über die sachliche Zuständigkeit ist somit auch im Anwendungsbereich von <ref-law> nicht zulässig. Die diesbezügliche Klausel kann dementsprechend die sachliche Zuständigkeit des Bezirksgerichts nicht derogieren.
3.
3.1. Unter dem Titel " Klagende Partei" macht die Beschwerdeführerin geltend, Klägerin sei die Stockwerkeigentümergemeinschaft. Im Berufungsverfahren seien aber die einzelnen Stockwerkeigentümer als Kläger aufgetreten. Dies bedeute, dass die Berufung im Namen von anderen Parteien (verschiedene natürliche Personen) erhoben worden sei als am erstinstanzlichen Verfahren beteiligt gewesen seien und diesen dementsprechend die Legitimation zur Berufung gefehlt habe. Die Vorinstanz hätte daher nicht auf die Berufung eintreten dürfen; ihr Urteil verletze <ref-law>, Art. 59 Abs. 1 und 2 sowie <ref-law>. Schliesslich rügt sie eine unzulässige Berichtigung der Parteibezeichnung durch die Vorinstanz und damit eine Verletzung von <ref-law>.
3.2. Die Klagebewilligung führte als "Klägerin " auf: "Stockwerkeigentümerschaften U._ bestehend aus (Namen von dreizehn natürlichen Personen ohne Adresse oder anderweitige Angaben) ". In der Klageschrift wird die " Klägerschaft " bezeichnet mit: " Stockwerkeigentümerschaften U._, V._ ", gefolgt von Namen von siebzehn natürlichen Personen, wiederum ohne Adresse oder anderweitige Angaben. Zur Aktivlegitimation wurde sodann ausgeführt: "Die Aktivlegitimation der Klägerschaft ergibt sich aus den Kaufverträgen zwischen der R._ AG und den einzelnen Stockwerkeigentümern (vgl. exemplarisch Kaufvertrag vom 13. Juli 2009) bzw. den von der R._ AG an die Klägerschaft gültig abgetretenen Gewährleistungsansprüchen einerseits und andererseits aus den Versammlungsbeschlüssen vom 26. März 2013 und 27. November 2014, mit welchen die einzelnen Stockwerkeigentümer die S._ AG beauftragt haben, die vorliegende Streitsache in Vertretung der Stockwerkeigentümer vor Gericht zu bringen". Das Bezirksgericht war davon ausgegangen, "Klägerin" sei die "Stockwerkeigentümer gemein schaft U._" (Hervorhebung hinzugefügt); entsprechend bezeichnete es diese als Klägerin im Rubrum des Beschlusses vom 23. Juli 2015, ohne weiter auf die Parteibezeichnung einzugehen. In der Berufung wurde die gleiche Parteibezeichnung verwendet wie in der Klageschrift. Dass das erstinstanzliche Rubrum resp. die darin vorgenommene Klarstellung in der Berufung beanstandet worden wäre, wird im vorinstanzlichen Urteil nicht festgestellt und ist auch nicht ersichtlich.
Nach den Feststellungen der Vorinstanz erachtete das Handelsgericht im parallelen Verfahren die Parteibezeichnung in der dortigen Klageschrift, die gleich formuliert gewesen sei wie in der vorliegenden Klage, als unklar und forderte die klagende Partei auf, sie zu präzisieren. Diese sei der Aufforderung nachgekommen und habe die einzelnen Stockwerkeigentümer als Kläger bezeichnet. Das Handelsgericht habe diese Klarstellung in seinem Nichteintretensbeschluss vom 23. Oktober 2015 beachtet. Mit Eingabe vom 27. November 2015 habe die klagende Partei auch für das vorliegende Verfahren festgehalten, Kläger seien die einzelnen Stockwerkeigentümer und nicht die Stockwerkeigentümergemeinschaft.
3.3. Die Vorinstanz erwog, in gerichtlichen Streitigkeiten, die sich auf Stockwerkeigentum beziehen, könnten unter den gegebenen Voraussetzungen - welche in diesem Berufungsverfahren nicht näher zu prüfen seien, da es einstweilen nur um die sachliche Zuständigkeit gehe - sowohl der oder die Stockwerkeigentümer, einzeln oder gemeinsam, oder die Gemeinschaft der Stockwerkeigentümer als solche klagen. Die Parteibezeichnung im Rubrum der Klageschrift sei diesbezüglich zweideutig. Jedoch liessen die oben zitierten Ausführungen in der Klageschrift "durchaus den Schluss zu, dass nicht die Gemeinschaft als solche[,] sondern die einzelnen Stockwerkeigentümer als Kläger auftreten". Entsprechend führte sie im Rubrum neu sechzehn natürliche Personen einzeln und mit weiteren Angaben (etwa der Adresse) als Kläger auf.
3.4. Nach <ref-law> enthält die Klageschrift die Bezeichnung der Parteien und ihrer allfälligen Vertreter. Die genaue Bezeichnung der Prozessparteien, namentlich auch der klagenden Partei, ist eine zentrale Voraussetzung für die Prüfung ihrer Partei- und Prozessfähigkeit wie auch ihrer Legitimation (Urteil 4A_116/2015 vom 9. November 2015 E. 3.5.3, nicht publ. in: <ref-ruling>). Parteien und Vertreter sind daher so zu bezeichnen, dass über ihre Identität kein Zweifel besteht. Bei natürlichen Personen erfordert dies regelmässig die Angabe von Name, Vorname und Adresse (Urteil 4A_364/2013 vom 5. März 2014 E. 16.1). Klarheit über die Identität der Partei kann sich etwa auch aus dem Streitgegenstand ergeben; diesfalls, d.h., wenn weder für das Gericht noch für die Parteien die Gefahr einer Verwechslung besteht, ist eine Berichtigung unklarer Parteibezeichnungen zulässig (<ref-ruling> E. 2.2 und 2.3 S. 62 ff.; Urteil 4A_560/2015 vom 20. Mai 2016 E. 4.2; zit. Urteil 4A_116/2015 E. 3.5.1; je mit Hinweisen). Kann eine ungenaue Bezeichnung hingegen nicht korrigiert werden, weil die Identität einer Partei unklar ist, ist auf die Klage nicht einzutreten (zit. Urteile 4A_116/2015 E. 3.5.1; 4A_560/2015 E. 4.2). Die Berichtigung einer Parteibezeichnung ist vom Parteiwechsel zu unterscheiden und darf nicht zu einem solchen führen (vgl. auch <ref-ruling> E. 2.2 S. 63). Ein Parteiwechsel ist - unter Vorbehalt besonderer gesetzlicher Bestimmungen oder der Veräusserung des Streitobjekts - nur mit dem Einverständnis der Gegenpartei zulässig (Art. 83 Abs. 1 und 4 ZPO).
3.5. Die Gegenpartei im Beschwerdeverfahren (nachfolgend: Beschwerdegegnerin) macht geltend, es hätten von Anfang an die einzelnen Stockwerkeigentümer geklagt. Sie beruft sich darauf, dass schon in der Klageschrift und auch in der Berufungsschrift der Begriff " Stockwerkeigentümerschaften" in der Mehrzahl verwendet worden sei und nicht etwa "Stock[e]werkeigentümer gemein schaft" in der Einzahl. Ebenso verhalte es sich mit der Klagebewilligung, die sie zum Beleg als Beilage zu ihrer Beschwerdeantwort eingereicht hat.
Das Gesetz verwendet die Begriffe " Stockwerkeigentümer " (z.B. <ref-law>) und " Gemeinschaft der Stockwerkeigentümer " (<ref-law>), in der Praxis allgemein als Stockwerkeigentümergemeinschaft abgekürzt (so auch in <ref-law>). Der Begriff " Stockwerkeigentümerschaft (en) " wird demgegenüber nicht verwendet (vgl. aber immerhin etwa die Urteile 5C.7/2004 vom 22. April 2014 E. 3.3 und E. 4.4; 1C_163/2015 vom 10. November 2015 lit. A, B und D, wo er, wie das jeweilige Rubrum zeigt, als Synonym für die Stockwerkeigentümergemeinschaft auftaucht). Die von der Beschwerdegegnerin in ihrer Klage für sich selber verwendete Parteibezeichnung ist daher unklar. Nur wenn gleichwohl keine Gefahr einer Verwechslung bestand, war sie einer Berichtigung zugänglich (was auch bei einer unklaren Bezeichnung der eigenen Partei möglich ist, vgl. DANIEL SCHWANDER, in: Kommentar zur Schweizerischen Zivilprozessordnung, Sutter-Somm und andere [Hrsg.], 3. Aufl. 2016, N. 14 zu <ref-law>), andernfalls ist auf die Klage nicht einzutreten. Während die Beschwerdeführerin und die Erstinstanz davon ausgehen, damit sei zweifelsohne die Stockwerkeigentümergemeinschaft bezeichnet worden, macht die Beschwerdegegnerin nunmehr geltend, damit eindeutig die einzelnen Stockwerkeigentümer gemeint zu haben.
Dafür, dass mit Stockwerkeigentümerschaft (en) die Gemeinschaft der Stockwerkeigentümer gemeint war und diese als Klägerin auftrat, spricht zunächst, dass in der Klage bezüglich ihr die sie gehörig identifizierenden Angaben vorhanden sind, nicht aber bezüglich der einzelnen natürlichen Personen, die bloss mit Namen und Vornamen, jedoch ohne Adresse oder anderweitige Angaben aufgeführt sind.
Hinzu kommt, dass die Klagebewilligung ausgestellt wurde auf die " Klägerin " (Einzahl) und mit dem dort aufgeführten Rechtsbegehren Leistung an die "Klägerin" (Einzahl) verlangt wurde. Auch in den prozessualen Anträgen, die in der Klagebewilligung wiedergegeben sind, ist von der Klägerin in Einzahl die Rede.
Sodann ist in der Klagebewilligung auf derselben Zeile wie "Klägerin" fett gedruckt "Stockwerkeigentümerschaften U._" aufgeführt, auf der nächsten Zeile "bestehend aus :" in Normalschrift, worunter schliesslich ebenfalls in Normalschrift auf je einer separaten Zeile dreizehn natürliche Personen mit Vor- und Nachnamen (aber ohne weitere Angaben) aufgelistet werden. Die Formulierung "bestehend aus " wird bei Stockwerkeigentümergemeinschaften - anders als etwa bei einfachen Gesellschaften und Erbengemeinschaften, die selber nicht partei- und prozessfähig sind - üblicherweise verwendet, um die Gemeinschaft durch Bekanntgabe ihrer Mitglieder noch näher zu umschreiben (auch wenn ihr Name und ihre Adresse zur Identifikation regelmässig genügen) und damit anzugeben, dass die Stockwerkeigentümergemeinschaft unter ihrem Namen als Klägerin auftritt (<ref-law>; vgl. etwa Urteil 5A_898/2015 vom 11. Juli 2016 E. 2 und 2.1, zur Publikation vorgesehen; ERIC PAHUD, in: Schweizerische Zivilprozessordnung [ZPO], Brunner und andere [Hrsg.], Bd. II, 2. Aufl. 2016, N. 3 zu <ref-law>). Wie durch die typografische Gestaltung untermauert wird, verhält es sich hier ebenso. Zu dieser Parteibezeichnung in der Klagebewilligung (siehe auch zit. Urteil 4A_560/2015 E. 4.3.1 in fine zur Tragweite, die der Parteibezeichnung im Schlichtungsverfahren zukommt) finden sich in der Klageschrift keine Präzisierungen, obwohl dies angezeigt gewesen wäre, wenn die Beschwerdegegnerin selber davon ausgegangen wäre, nicht die Stockwerkeigentümergemeinschaft sei Klägerin, sondern die einzelnen Stockwerkeigentümer.
Mangels klar anderslautender Angaben seitens der Beschwerdegegnerin konnten und mussten deshalb alle am erstinstanzlichen Verfahren Beteiligten zweifelsfrei davon ausgehen, die Stockwerkeigentümergemeinschaft trete als Klägerin auf. Dass zumindest ursprünglich auch die Beschwerdegegnerin selber davon ausging, sie klage als Stockwerkeigentümergemeinschaft, wird sodann durch ihr eigenes Verhalten bestätigt. Trotz dem eindeutigen Rubrum im Beschluss des Bezirksgerichts vom 23. Juli 2015 machte sie in ihrer Berufung keine Ausführungen dazu; insbesondere beanstandete sie die erstinstanzlich vorgenommene Berichtigung nicht.
Entgegen der Vorinstanz ergibt sich aus der zitierten Formulierung in der Klagebegründung zur Aktivlegitimation ebenfalls nichts anderes; vielmehr bestärkt diese die vorangehenden Ausführungen sogar. Die Klageschrift bezieht sich an der angegebenen Stelle auf den - als Beispiel für alle anderen - eingereichten Kaufvertrag zwischen der R._ AG und einem Stockwerkeigentümer vom 13. Juli 2009. Dort heisst es unter Ziffer 8 Abs. 4 (S. 7), die "Verkäuferschaft tritt die Mängelrechte und Garantieansprüche gegen den Totalunternehmer (...) der Käuferschaft ab. Für Mängelrechte und Garantieansprüche betreffend gemeinschaftliche Teile erfolgt die Abtretung an die Stockwerkeigentümerschaft. (...) Die Stockwerkeigentümerschaft bzw. die Käuferschaft ist (...) ". Unter Ziffer 8 Abs. 5 des Kaufvertrages wird sodann bestimmt: " Es ist Sache der Stockwerkeigentümergemeinschaft bzw. der Käuferschaft, (...) ". Im Kaufvertrag wird hinsichtlich der Abtretung der Gewährleistungsansprüche somit unterschieden zwischen der Abtretung an die Käuferschaft und derjenigen an die Stockwerkeigentümerschaft, wobei die Begriffe Stockwerkeigentümerschaft (Ziffer 8 Abs. 4) und Stockwerkeigentümergemeinschaft (Ziffer 8 Abs. 5) im Kaufvertrag offenbar austauschbar verwendet werden. Auch diese synonyme Begriffsverwendung bekräftigt, dass in der Klage mit Stockwerkeigentümerschaft ebenfalls die Stockwerkeigentümer gemein schaft gemeint war.
Die Vorinstanz ging somit zu Unrecht davon aus, dass die einzelnen Stockwerkeigentümer geklagt hätten. Klägerin und auch Berufungsklägerin war vielmehr die Stockwerkeigentümergemeinschaft. Da weder für die Erstinstanz noch für die Parteien die Gefahr einer Verwechslung bestand, konnte die ungenaue Parteibezeichnung der Klägerin - wie von der Erstinstanz gemacht - entsprechend berichtigt werden.
3.6. Entgegen der Beschwerdeführerin führt dies allerdings nicht dazu, dass die Vorinstanz nicht hätte auf die Berufung eintreten dürfen, denn diese wurde von der gleichen - und nicht einer anderen - Partei erhoben, die durch den Beschluss des Bezirksgerichts beschwert und dadurch zur Berufung legitimiert war. Dass sie sich selbst in der Berufung anders bezeichnete als es die Erstinstanz im angefochtenen Beschluss tat (nämlich weiterhin - wie in der Klage - ungenau), ändert nichts daran. War die Stockwerkeigentümergemeinschaft Verfahrenspartei, anerkannte die Vorinstanz gestützt auf die Eingabe vom 27. November 2015 einen Parteiwechsel. Nachdem sich die Beschwerdeführerin bereits vorinstanzlich dagegen gewehrt hatte, liegt keine Einwilligung zu einem Parteiwechsel vor. Ein solcher ist daher nicht zulässig (<ref-law>) und entsprechend ist das angefochtene Urteil zu korrigieren - Klägerin ist nach wie vor die Stockwerkeigentümergemeinschaft. Nicht mehr einzugehen ist unter diesen Umständen auf die Ausführungen der Beschwerdeführerin betreffend ungültiger Klagebewilligung und unzulässigem Parteiwechsel bezüglich einzelner natürlicher Personen, namentlich der Stockwerkeigentümer Nr. 1, 2, 3 und 14; die entsprechenden Rügen werden nur erhoben für den Fall, dass das Bundesgericht mit der Vorinstanz die einzelnen Stockwerkeigentümer als Kläger betrachtet hätte.
4.
Sofern die Stockwerkeigentümergemeinschaft partei- und prozessfähig ist (dazu nachfolgend E. 5), konnte sie als nicht im Handelsregister eingetragene Klägerin auch das Wahlrecht nach <ref-law> ausüben. Dass nach den Feststellungen der Vorinstanz eine natürliche Person, die Stockwerkeigentümer ist, als Inhaber eines Einzelunternehmens im Handelsregister eingetragen ist und für ihn allein als klagende Partei nach <ref-law> das Handelsgericht zuständig wäre (vgl. <ref-ruling> E. 3.3 S. 97 ff.), spielt daher keine Rolle.
5.
Ob auf die Klage eingetreten werden kann, hängt somit davon ab, ob die Stockwerkeigentümergemeinschaft hinsichtlich der eingeklagten Ansprüche auf Ersatzvornahme bzw. auf Leistung eines Kostenvorschusses für die Ersatzvornahme partei- und prozessfähig ist.
Das Stockwerkeigentum ist gesetzlich als besondere Form des Miteigentums ausgestaltet (<ref-ruling> E. 4 S. 407; <ref-ruling> E. 3.2 S. 360). Die jeweiligen Stockwerkeigentümer bilden eine Rechtsgemeinschaft, welche zur gemeinschaftlichen Verwaltung des Stockwerkeigentums berufen ist (vgl. <ref-law>). Dieser Gemeinschaft kommt keine Rechtspersönlichkeit zu (<ref-ruling> E. 2 S. 350). Im Rahmen ihrer Verwaltungstätigkeit erfolgt aber eine gewisse Verselbstständigung, indem sie in diesem Bereich zivilrechtlich handlungsfähig ist und prozessual sowie vollstreckungsrechtlich unter ihrem Namen klagen und betreiben sowie beklagt und betrieben werden kann (<ref-law>). Sodann verfügt die Gemeinschaft über ein Sondervermögen (sog. Gemeinschaftsvermögen), welches - mangels rechtlicher Selbstständigkeit der Gemeinschaft - zwar im Miteigentum der Stockwerkeigentümer steht, aber im Rechtsverkehr verselbstständigt ist. Nicht zum Sondervermögen gehört namentlich die Liegenschaft, weil sie nicht der Verwaltung dient, sondern vielmehr Anlass für die Gemeinschaft ist (zit. Urteil 5A_898/2015 E. 2.2 mit Hinweis).
Die Stockwerkeigentümergemeinschaft ist gemäss <ref-law> lediglich in beschränktem Umfang partei- und prozessfähig. Will sie in eigenem Namen klagen, ist nebst der prozessual erforderlichen Prozessfähigkeit in materieller Hinsicht ihre Sach- bzw. Aktivlegitimation, d.h. ihre Rechtszuständigkeit für den betreffenden Streitgegenstand, erforderlich (<ref-ruling> E. 3 S. 241 f.; zit. Urteil 5A_898/2015 E. 2.2 mit Hinweisen). Diese besteht im Bereich der gemeinschaftlichen Verwaltung. Das Bundesgericht hat in einem Fall, in dem werkvertragliche Nachbesserungsansprüche betreffend Schäden am Fassadenverputz von der seinerzeitigen Bauherrin an die Stockwerkeigentümergemeinschaft abgetreten worden waren, anerkannt, dass der Fassadenunterhalt eine Gemeinschaftsaufgabe der Stockwerkeigentümergemeinschaft ist (vgl. auch Art. 712h Abs. 2 Ziff. 1 und Art. 712g Abs. 1 i.V. mit <ref-law>) und diese solche Ansprüche erwerben kann (Rechtszuständigkeit); entsprechend wurde die Partei- und Prozessfähigkeit der Stockwerkeigentümergemeinschaft zur Geltendmachung von Nachbesserungsansprüchen bejaht (<ref-ruling> E. 1 S. 424 ff. mit Hinweisen; bestätigt in <ref-ruling> E. 4a S. 242 mit Hinweisen; vgl. auch Urteil 4C.151/2005 vom 29. August 2005 E. 4.2.3). Dies gilt unbesehen darum, ob der Nachbesserungsanspruch realiter oder in Form der Kosten der Ersatzvornahme geltend gemacht wird (<ref-ruling> E. 5c/bb S. 247). Schliesslich kann die Stockwerkeigentümergemeinschaft auch dann aktivlegitimiert sowie partei- und prozessfähig sein, wenn sich ein Unternehmer später ihr gegenüber zur Nachbesserung verpflichtet hat (<ref-ruling> E. 5 S. 20). Die kantonalen Gerichte haben die Frage, inwieweit vorliegend der Stockwerkeigentümergemeinschaft die Partei- und Prozessfähigkeit zukommt, nicht beurteilt. Die Sache ist daher an das Bezirksgericht zurückzuweisen zur entsprechenden Prüfung und neuen Beurteilung der Eintretensfrage sowie in der Folge gegebenenfalls der materiellen Beurteilung der Klage. Damit bleibt es formell beim angefochtenen Urteil des Obergerichts, jedoch teilweise nicht aus den gleichen Erwägungen resp. mit rückgängig gemachtem Parteiwechsel.
6.
Die Beschwerde ist somit abzuweisen, wodurch die Beschwerdeführerin unterliegt und grundsätzlich kosten- und entschädigungspflichtig wird. Allerdings wurde ein wesentlicher Teil der Arbeit durch die ungenaue Parteibezeichnung seitens der Beschwerdegegnerin verursacht. Es rechtfertigt sich daher, die Kosten des bundesgerichtlichen Verfahrens den Parteien je hälftig aufzuerlegen und für das bundesgerichtliche Verfahren keine Parteientschädigungen zuzusprechen.

Demnach erkennt das Bundesgericht:
1.
Die Beschwerde wird abgewiesen.
2.
Die Gerichtskosten für das bundesgerichtliche Verfahren von Fr. 15'000.-- werden den Parteien je zur Hälfte auferlegt.
3.
Es werden für das bundesgerichtliche Verfahren keine Parteientschädigungen zugesprochen.
4.
Dieses Urteil wird den Parteien und dem Obergericht des Kantons Zürich, II. Zivilkammer, schriftlich mitgeteilt.
Lausanne, 5. Oktober 2016
Im Namen der I. zivilrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Die Präsidentin: Kiss
Der Gerichtsschreiber: Lüthi