Faits :
A.
A._ a été détenu à la prison du Bois-Mermet du 25 mars 2015 au 28 février 2017, sous la prévention notamment d'escroquerie par métier, de faux dans les titres et de gestion déloyale aggravée. Par ordonnance du 27 février 2017, le Tribunal des mesures de contrainte du canton de Vaud a prononcé des mesures de substitution en lieu et place de la détention avant jugement et ordonné la libération.
Par courrier du 15 août 2016, A._ a saisi le Tribunal des mesures de contrainte d'une demande de constatation des conditions illicites de sa détention. Dans un rapport du 22 septembre 2016 (complété le 16 janvier 2017), la Direction de la Prison du Bois-Mermet a relevé que le prénommé avait séjourné dans deux cellules de 8,8 m 2 avec un autre détenu, du 24 mars au 30 juin 2015, puis du 14 août 2015 au 20 avril 2016 et enfin du 4 mai 2016 au 28 février 2017. Ce rapport précisait en outre qu'il n'avait pas existé de problème de chauffage dans ces cellules et que l'aération se faisait par l'ouverture de la fenêtre.
Le 6 décembre 2016, A._ a été entendu par le Président du Tribunal des mesures de contrainte. Le 24 février 2017, celui-ci a procédé à une inspection locale avec un relevé des mesures des cellules occupées par le prénommé. Par ordonnance du 26 avril 2017, il a constaté que les conditions dans lesquelles s'était déroulée la détention provisoire du prévenu à la prison du Bois-Mermet étaient conformes aux exigences conventionnelles, constitutionnelles et légales.
Par arrêt du 16 mai 2017, la Chambre des recours pénale du Tribunal cantonal du canton de Vaud (ci-après: le Tribunal cantonal) a rejeté le recours interjeté par A._ et a confirmé l'ordonnance du 26 avril 2017. Elle a considéré en substance que les conditions de détention dénoncées ne violaient pas la dignité humaine.
B.
A._ a déposé un recours contre l'arrêt du 16 mai 2017 auprès du Tribunal fédéral. Il demande principalement que l'arrêt attaqué soit modifié en ce sens qu'il est constaté qu'il a été détenu dans des conditions illicites entre le 10 mars 2015 et le 28 février 2017. Il conclut subsidiairement à l'annulation de l'arrêt attaqué et au renvoi de la cause à l'autorité de première instance pour nouvelle décision au sens des considérants.
Invités à déposer des observations, le Ministère public et le Tribunal cantonal renoncent à se déterminer, en se référant à l'arrêt attaqué.
Considérant en droit :
1.
Selon l'art. 78 LTF, le recours en matière pénale est ouvert contre les décisions rendues en matière pénale, dont font partie les décisions relatives aux conditions de la détention provisoire ou pour des motifs de sûreté (arrêt 1B_369/2013 du 26 février 2014 consid. 1, non publié in ATF 140 I 125). La recevabilité du recours en matière pénale dépend notamment de l'existence d'un intérêt juridique actuel à l'annulation de la décision entreprise (art. 81 al. 1 let. b LTF). De cette manière, les tribunaux sont assurés de trancher uniquement des questions concrètes et non de prendre des décisions à caractère théorique, ce qui répond à un souci d'économie de procédure (ATF 136 I 274 consid. 1.3 p. 276). En tant qu'il a vu rejetées ses conclusions en constatation du caractère irrégulier de sa détention, le recourant a un intérêt à l'annulation de l'arrêt attaqué.
Les autres conditions de recevabilité sont remplies, de sorte qu'il convient d'entrer en matière.
2.
Dans un premier grief d'ordre formel, le recourant se plaint d'une constatation manifestement inexacte des faits et d'une appréciation arbitraire des preuves.
Conformément à l'art. 105 al. 1 LTF, le Tribunal fédéral statue en principe sur la base des faits établis par l'autorité précédente. L'art. 105 al. 2 LTF lui permet cependant de rectifier ou compléter d'office les constatations de l'autorité précédente si les faits ont été établis de façon manifestement inexacte ou en violation du droit au sens de l'art. 95 LTF.
Le recourant reproche d'abord à la cour cantonale d'avoir omis de reprendre dans son état de fait les dimensions du mobilier garnissant les cellules occupées par le recourant (lit, tête de lit, table, armoire, frigidaire, sanitaires et radiateur). Le recourant lui fait grief ensuite de n'avoir pas mentionné sa stature "extraordinaire" (2,03 mètres pour 126 kilos). Vu le raisonnement qui suit (cf. infra consid. 3), ces éléments ne sont pas susceptibles d'avoir une incidence sur l'issue de la procédure. Le grief d'établissement arbitraire des faits doit donc être rejeté.
3.
Le recourant reproche à la cour cantonale d'avoir considéré que les conditions de sa détention au sein de la prison du Bois-Mermet étaient conformes à la dignité humaine (art. 3 CEDH et 7 Cst.) ainsi qu'aux normes européennes et internationales en matière de détention.
3.1. Au niveau conventionnel, l'art. 3 CEDH prévoit que nul ne peut être soumis à la torture ni à des peines ou traitements inhumains ou dégradants.
Sur le plan constitutionnel, l'art. 7 Cst. prescrit de son côté que la dignité humaine doit être respectée et protégée. A teneur de l'art. 10 al. 3 Cst., la torture et tout autre traitement ou peine cruels, inhumains ou dégradants sont interdits.
Au niveau législatif, l'art. 3 al. 1 CPP rappelle le principe du respect de la dignité humaine. L'art. 235 CPP régit l'exécution de la détention; il pose le principe général de proportionnalité (al. 1) et précise (al. 5) que les cantons règlent les droits et les obligations des prévenus en détention (sur l'exécution de la détention, voir Matthias Härri, Basler Kommentar, Schweizerische Strafprozessordnung, 2010, ad art. 234 et 235 CPP).
Dans le canton de Vaud, le règlement sur le statut des détenus avant jugement et des condamnés placés dans un établissement de détention avant jugement et les régimes de détention applicables (RSDAJ; RSV 340.02.5) ne contient aucune disposition précise concernant l'aménagement, l'équipement, la dimension des cellules ou la surface dont doit bénéficier chaque détenu à l'intérieur de celles-ci.
3.2. Pour le domaine spécifique de la détention, la Suisse a ratifié, le 7 octobre 1988, la Convention européenne de 1987 pour la prévention de la torture et des peines ou traitements inhumains ou dégradants (RS 0.106). L'art. 1 de cette Convention institue un "Comité européen pour la prévention de la torture et des peines ou traitements inhumains ou dégradants" (ci-après: CPT).
Le 15 décembre 2015, le CPT a édité une norme sur l'Espace vital par détenu dans les établissements pénitentiaires. Il en ressort que la norme minimale concernant l'espace vital devrait exclure les sanitaires qui se trouvent à l'intérieur d'une cellule. Ainsi, une cellule individuelle devrait mesurer 6 m2 auxquels on ajouterait la superficie nécessaire à une annexe sanitaire (généralement de 1 à 2 m2). De même, l'espace occupé par l'annexe sanitaire devrait être exclu du calcul des 4 m2 par personne dans les cellules collectives. De plus, l'annexe sanitaire de ces dernières devrait être entièrement cloisonnée.
Par ailleurs, le Comité des ministres du Conseil de l'Europe, en application de l'art. 15 (b) du Statut du Conseil de l'Europe (RS 0.192.030), a adopté le 11 janvier 2006 la Recommandation Rec (2006) 2 sur les Règles pénitentiaires européennes (ci-après; RPE), lesquelles s'inscrivent dans les précédentes recommandations établies dès 1989. Ces règles prennent notamment en compte le travail mené par le CPT ainsi que les normes qu'il a développées dans ses rapports généraux, et visent à garantir des conditions de détention qui ne portent pas atteinte à la dignité humaine. Les règles 17 à 22 RPE traitent des locaux de détention, de l'hygiène, de la literie et du régime alimentaire: ainsi, les locaux de détention doivent satisfaire aux exigences de respect de la dignité humaine et, dans la mesure du possible, de la vie privée, et répondre aux conditions minimales requises en matière de santé et d'hygiène, compte tenu des conditions climatiques. La règle 19.3 prévoit en particulier que les détenus doivent jouir d'un accès facile à des installations sanitaires hygiéniques et protégeant leur intimité.
3.3. Se prononçant sur la situation de la prison genevoise de Champ-Dollon, le Tribunal fédéral a jugé qu'en cas de surpopulation carcérale, l'occupation d'une cellule dite individuelle par trois détenus - chacun disposant d'un espace individuel de 4 m 2, restreint du mobilier, - est une condition de détention difficile; elle n'est cependant pas constitutive d'une violation de l'art. 3 CEDH et ne représente pas un traitement dégradant portant atteinte à la dignité humaine des prévenus.
En revanche, l'occupation d'une cellule dite triple par six détenus avec une surface individuelle inférieure à 3,83 m 2 - restreinte encore par le mobilier - peut constituer une violation de l'art. 3 CEDH si elle s'étend sur une longue période et si elle s'accompagne d'autres mauvaises conditions de détention. Il faut dès lors considérer la période pendant laquelle le recourant a été détenu dans les conditions incriminées. Une durée qui s'approche de trois mois consécutifs (délai que l'on retrouve en matière de contrôle périodique de la détention provisoire ou pour des motifs de sûreté; cf. art. 227 al. 7 CPP) apparaît comme la limite au-delà de laquelle les conditions de détention susmentionnées ne peuvent plus être tolérées (ATF 140 I 125 consid. 3.6.3 p. 138 s.). Depuis lors, le Tribunal fédéral - s'inspirant également de la jurisprudence de la Cour européenne des droits de l'homme (cf. arrêts cités à l'ATF 140 I 125 consid. 3.4 p. 134 s.) - s'en est tenu au critère de la surface individuelle inférieure à 4 m 2 (en dernier lieu: arrêt 1B_394/2016 du 25 avril 2017 consid. 2.2.1). Dans un arrêt de principe Mursic contre Croatie du 20 octobre 2016 (§ 110 à 115), la Grande Chambre de la Cour européenne des droits de l'homme s'est cependant écartée de cet ordre de grandeur de 4 m2, déduit des normes établies par le CPT: désormais, la Cour retient qu'une surface de 3 m2 au sol par détenu constitue la norme minimale pertinente (pour une critique de cet arrêt, voir Françoise Tulkens, Cellule collective et espace personnel: un arrêt en trompe-l'oeil, in Revue trimestrielle des droits de l'homme 2017, p. 989 à 1004).
S'agissant de la prison vaudoise de Bois-Mermet, le Tribunal fédéral a précisé que lors du calcul de la surface individuelle à disposition de chaque détenu, la surface des installations sanitaires se trouvant dans la cellule devait être retranchée (arrêt 1B_70/2016 du 24 juin 2016 consid. 3.4).
3.4. En l'espèce, le Tribunal cantonal a considéré que le recourant disposait d'une surface individuelle supérieure à 4 m 2 (4,53 m 2et 4,645 m 2) dans les différentes cellules qu'il a occupées. Laissant indécise la question de l'obligation de la déductibilité de la surface des sanitaires, l'instance précédente a tout de même calculé qu'en déduisant la surface des sanitaires, l'espace individuel net à disposition dans les deux cellules litigieuses était respectivement de 3,74 m 2et de 3,86 m 2. Dans le cadre d'une appréciation globale de toutes les conditions de détention, elle a cependant jugé que celles-ci n'étaient pas illicites. Elle a notamment relevé que le prénommé avait pu sortir de sa cellule au moins 11 heures par semaine du 24 mars 2015 au 4 août 2015, puis entre 16 et 21 heures lorsqu'il avait commencé à travailler. La cour cantonale a encore jugé que le temps passé en cellule était diminué par les périodes de douches, les sorties à la bibliothèque, les visites, les rendez-vous avec l'avocat au parloir, avec le secteur médical ou socio-éducatif, avec la Fondation Vaudoise de Probation ainsi que par les déplacements pour les auditions au Ministère public ou au tribunal; le prévenu disposait en outre d'une promenade d'une heure par jour lorsqu'il ne travaillait pas; il pouvait faire du sport durant 40 minutes (voire une heure) par jour deux à trois fois par semaine, et participer à des ateliers le mardi toutes les 4 à 5 semaines; s'ajoutait à cela que le détenu qui partageait sa cellule avait toujours travaillé selon l'horaire inversé, de sorte qu'il avait pu bénéficier seul de sa cellule durant de nombreuses heures; enfin, le fait qu'il avait renoncé à l'occupation d'une cellule individuelle pour pouvoir continuer à travailler - ce qui ne pouvait lui être reproché - constituait un indice supplémentaire que ses conditions de détention n'étaient pas aussi inhumaines qu'il le prétendait.
3.5. Faisant l'inventaire de la surface des meubles de la cellule, le recourant soutient d'abord que l'espace occupé par le mobilier doit être déduit de la surface totale de la cellule. Selon la jurisprudence susmentionnée, il n'y a pas lieu de retrancher précisément la surface du mobilier lors du calcul de l'espace individuel à disposition du détenu. En effet, la jurisprudence a retenu que l'occupation d'une cellule avec une surface individuelle inférieure à 3,83 m 2 - restreinte encore par le mobilier - pouvait constituer une violation de l'art. 3 CEDH si elle s'étendait sur une longue période et si elle s'accompagnait d'autres mauvaises conditions de détention. Elle s'est en cela référée à la jurisprudence de la Cour européenne des droits de l'homme, qui quoi qu'en dise le recourant utilise la formule qui divise le nombre de m 2 de la cellule par le nombre de détenus logés, à laquelle elle ajoute l'expression "restreint encore par le mobilier" (arrêt Jiga contre Roumanie du 16 mars 2010 où l'espace individuel à disposition de chaque détenu était de 1,55 m 2, restreint encore par le mobilier; arrêt Viorel Burzo contre Roumanie du 30 juin 2009 où l'espace individuel était compris entre 1,5 et 1,9 m2, réduit encore par le mobilier; voir ég. arrêt Aleksandr Makarov contre Russie du 12 mars 2009 dans lequel le détenu disposait d'un espace individuel allant de 4,1 à 3,8 m2, diminué encore par le mobilier; arrêt Gladkiy contre Russie du 21 décembre 2010 où l'espace individuel était de moins de 1 m2; arrêt Pitalev contre Russie du 30 juillet 2009 où l'espace individuel oscillait entre 1,9, 2,6 et 3,85 m2). L'arrêt de principe déjà cité de la Grande Chambre de Cour européenne des droits de l'homme précise de toute manière que le calcul de la surface disponible dans la cellule doit désormais inclure l'espace occupé par les meubles (arrêt Mursic contre Croatie du 20 octobre 2016 § 114).
En l'occurrence, il y a cependant lieu de retrancher la surface des installations sanitaires se trouvant dans la cellule (arrêt 1B_70/2016 du 24 juin 2016). L'argument du Tribunal des mesures de contrainte, selon lequel, lorsque les toilettes sont inoccupées, la surface totale de la cellule profite aux deux détenus, manque de pertinence. En effet, les sanitaires ne peuvent pas être raisonnablement considérés comme un espace de vie supplémentaire libre d'accès lorsqu'ils ne sont pas utilisés.
Il n'est pas contesté qu'en déduisant la surface des sanitaires, l'espace individuel net à disposition dans les deux cellules litigieuses est respectivement de 3,74 m 2et de 3,86 m 2, restreint encore par le mobilier. Le détenu a ainsi séjourné dans une cellule de moins de 4 m 2 de surface individuelle nette du 24 mars 2015 au 30 juin 2015 (98 jours), du 14 août 2015 au 20 avril 2016 (250 jours) et du 4 mai 2016 au 28 février 2017 (300 jours). Ces séjours ont été interrompus respectivement par 45 jours puis par 14 jours dans une cellule où il disposait de plus de 4 m 2 d'espace individuel. Cette mauvaise condition de détention s'étend ainsi sur une longue période.
S'y ajoutent plusieurs circonstances aggravantes: d'abord, le confinement en cellule d'au moins 21h par jour: le détenu avait la possibilité de sortir de la cellule environ 1h30 par jour (11h par semaine) du 24 mars au 4 août 2015, puis environ 2h30 par jour (entre 16h et 21h par semaine) lorsqu'il a commencé à travailler. Lorsqu'il ne travaillait pas, le recourant disposait d'une heure de promenade et de 40 minutes de sport 2 ou 3 fois par semaines (et d'une heure le lundi). L'instance précédente a encore déduit le temps passé hors de la cellule pour les sorties à la bibliothèque, les douches, les rendez-vous avec l'avocat au parloir, avec le secteur médical ou socio-éducatif, avec la Fondation Vaudoise de Probation, la participation à un atelier toutes les 4 à 5 semaines ainsi que les déplacements "éventuels" au Ministère public et au Tribunal; ces laps de temps n'ont toutefois qu'augmenté marginalement le nombre d'heures moyen passé à l'extérieur de la cellule.
Il est vrai que le fait que le codétenu du recourant avait généralement des horaires de travail inversés - ce qui a permis à ce dernier d'être seul en cellule pendant quelques heures -, a amélioré quelque peu les conditions de détention; cette amélioration est cependant trop brève pour rendre licites les conditions de détention précitées.
Ensuite, le fait que les toilettes sont séparées du reste de la cellule par un rideau ignifuge - et non par une cloison - aggrave encore la situation.
Il y a enfin encore lieu de prendre en compte comme élément aggravant ces conditions difficiles de détention la température dans les cellules - trop basse en hiver et trop élevée en été - dont se plaint le recourant depuis le 19 octobre 2016. Cette circonstance ressort en effet du rapport du 4 mars 2013 de la Commission nationale de prévention de la torture adressé au Conseil d'Etat du canton de Vaud concernant la visite à la prison du Bois-Mermet, selon lequel "l'isolation thermique du bâtiment est clairement insuffisante et devrait être renforcée afin de permettre une température dans les cellules plus acceptable en hiver et en été". Au demeurant, si la Commission nationale contre la torture avait recommandé une extension rapide des infrastructures pénitentiaires, pour améliorer notamment le système d'aération des cellules (rapport du 4 mars 2013), le Conseil d'Etat du canton de Vaud a annoncé, dans ses orientations sur la politique pénitentiaire du mois de juin 2014, qu'il entendait fermer à terme la prison du Bois-Mermet, construite en 1905. Dans ces conditions, la production de la température moyenne mensuelle avec indication des maxima et minima pour chaque mois des cellules dans lesquelles a séjourné le recourant n'est plus nécessaire. Il n'est ainsi pas nécessaire d'examiner le grief de violation du droit à la preuve (art. 9 et 29 al. 2 Cst. et art. 6 §1 CEDH) que formule le recourant à cet égard.
Pour le reste, comme le relève l'instance précédente, il ne peut être reproché au détenu d'avoir renoncé à occuper une cellule individuelle pour pouvoir continuer à travailler. On ne saurait non plus y voir un indice que "ses conditions de détention n'étaient pas aussi inhumaines que prétendu".
Quant à l'aération de la cellule et à la présence d'un plexiglas devant la fenêtre - destiné à éviter d'importuner le voisinage -, le Président du Tmc a constaté que l'air frais passait malgré l'installation d'un plexiglas, lors de l'inspection locale du 24 février 2017. Le Tribunal fédéral est lié par les constatations de fait de la décision attaquée (art. 105 al. 1 LTF) lorsque le recourant ne démontre pas qu'elles ont été établies en violation du droit ou de manière manifestement inexacte. Tel est le cas en l'espèce.
3.6. Il s'ensuit que le recours doit être admis et l'arrêt attaqué annulé. Le Tribunal fédéral constate que les conditions de détention du recourant n'ont pas été conformes aux standards minimaux durant 648 jours, entre le 24 mars 2015 et le 28 février 2017.
4.
Le recourant, qui obtient gain de cause avec l'assistance d'un avocat, a droit à des dépens, à la charge du canton de Vaud (art. 68 al. 1 LTF). Dans ces conditions, sa demande d'assistance judiciaire pour la présente procédure est sans objet.
Il n'y a pas lieu de percevoir de frais judiciaires (art. 66 al. 4 LTF). Les frais et dépens de la procédure cantonale peuvent également être fixés dans le présent arrêt (art. 67 et 68 al. 5 LTF). Les dépens sont ainsi arrêtés de manière globale pour les procédures cantonale et fédérale, et les frais judiciaires de l'instance cantonale sont laissés à la charge du canton de Vaud.
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis. L'arrêt du 16 mai 2017 du Tribunal cantonal et l'ordonnance du Tmc du 26 avril 2017 sont annulés. Il est constaté que les conditions dans lesquelles s'est déroulée la détention du recourant ont été illicites pendant 648 jours (entre le 24 mars 2015 et le 28 février 2017).
2.
Il n'est pas perçu de frais judiciaires pour la procédure fédérale et les frais judiciaires de la procédure cantonale sont laissés à la charge du canton de Vaud.
3.
Une indemnité de dépens globale de 3'000 francs est allouée au mandataire du recourant, pour les procédures fédérale et cantonale, à la charge du canton de Vaud. La demande d'assistance judiciaire pour la procédure fédérale est sans objet.
4.
Le présent arrêt est communiqué au mandataire du recourant, au Ministère public central du canton de Vaud, au Tribunal des mesures de contraintes du canton de Vaud et au Tribunal cantonal du canton de Vaud, Chambre des recours pénale.
Lausanne, le 14 novembre 2017
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président : Merkli
La Greffière : Tornay Schaller