Faits :
A.
A._ a fait l'objet d'une instruction pénale pour plusieurs assassinats, conduite par le Ministère public du canton de Genève (ci-après: le Ministère public).
Le prévenu a requis une première fois, le 31 août 2012, la récusation du Procureur Yves Bertossa (ci-après: le Procureur), en raison de ses liens prétendus avec l'association B._, laquelle s'était jointe aux dénonciations formées contre A._ et s'était impliquée pour obtenir l'arrestation du prévenu et l'audition de témoins à charge. Cette demande de récusation a été rejetée le 15 octobre 2012 par la Chambre pénale de recours de la Cour de justice du canton de Genève (ci-après: la Cour de justice), les motifs allégués ne permettant pas de fonder un soupçon de prévention du Procureur. Par arrêt du 10 janvier 2013 (1B_685/2012), le Tribunal fédéral a rejeté le recours formé par A._; alors qu'il était avocat, le Procureur Bertossa avait relu et corrigé bénévolement, en 2003, un ouvrage publié par B._; il était aussi intervenu aux côtés de cette association; toutefois, aucune de ces interventions, qui remontaient à dix ans, n'était en rapport avec A._, le Guatemala ou l'Amérique centrale; le manque de réponse aux nombreuses questions du requérant, les souvenirs imprécis du magistrat et les irrégularités de procédures alléguées ne constituaient pas non plus des motifs de récusation.
B.
Le 13 décembre 2012, A._ a sollicité une deuxième fois la récusation du Procureur Bertossa, notamment au motif que celui-ci, lors de l'audition d'un témoin, n'avait pas relevé les contradictions existant avec ses déclarations antérieures filmées par B._ et n'avait pas autorisé l'enregistrement de cette audition. Il lui reprochait aussi de ne pas avoir fait figurer les DVD de B._ dans la copie du dossier qui lui avait été remise. La Cour de justice a rejeté cette deuxième demande de récusation. Le recours formé par A._ contre cet arrêt a été écarté par le Tribunal fédéral, par arrêt du 19 avril 2013 (1B_86/2013).
A._ a déposé une troisième demande de récusation, le 9 mars 2013, vu la manière dont les auditions avaient été menées entre les 4 et 8 mars 2013. Il a également fait grief au Procureur Bertossa d'avoir eu un entretien à huis clos avec l'avocate de la partie plaignante lors d'une suspension d'audience. Le 6 avril 2013, il a à nouveau requis la récusation du magistrat prénommé, au motif que celui-ci aurait tenté d'intimider un témoin à décharge produit par la défense. Par arrêt du 6 mai 2013, la Cour de justice a rejeté cette troisième demande de récusation. Le Tribunal fédéral a rejeté le recours interjeté contre cet arrêt, le 9 août 2013 (1B_205/2013) : aucun des motifs avancés par le recourant ne permettait d'admettre l'existence de circonstances exceptionnelles justifiant la récusation du Procureur.
Le 26 juillet 2013, A._ a formulé une quatrième demande de récusation. Il a reproché cette fois au Procureur de ne pas avoir répondu à la question posée par ses conseils le 23 juillet 2013, "avez-vous été membre de l'association B._?"; ce silence constituerait une démonstration évidente de partialité. Dans ses observations devant la cour cantonale, le Procureur a précisé qu'il n'était pas membre de B._ et qu'il ne se souvenait pas avoir jamais demandé à en faire partie. Par arrêt du 19 août 2013, la Cour de justice a déclaré irrecevable la requête en récusation pour cause de tardiveté. Le Tribunal fédéral a rejeté le recours déposé par A._ contre cet arrêt, le 30 octobre 2013 (1B_312/2013) : il a considéré que la Cour de justice n'avait pas violé le droit fédéral en déclarant la requête tardive et donc irrecevable, au motif qu'elle n'avait pas été présentée "sans délai" au sens de l'art. 58 al. 1 CPP.
C.
Par jugement du 6 juin 2014, le Tribunal criminel du canton de Genève a reconnu A._ coupable de plusieurs assassinats et l'a condamné à une peine privative de liberté à vie. Le 29 septembre 2014, A._ a adressé une déclaration d'appel du jugement de première instance devant la Chambre pénale d'appel et de révision de la Cour de justice du canton de Genève. Au terme de cette déclaration de 115 pages, il a notamment conclu à son acquittement.
Le Ministère public a formé un appel joint, le 27 octobre 2014, concluant à ce que l'appelant soit reconnu coupable des chefs d'accusation dont il a été acquitté par les premiers juges. A cet acte était annexé un échange de correspondance entre l'association B._ et le Procureur Yves Bertossa: par courrier du 16 juin 2014 adressé au Procureur à son adresse au Ministère public, B._ annonçait, "suite aux mises en cause qui ont été relayées dans les médias au sujet d'une prétendue proximité entre vous et notre association", vouloir demander la publication d'une tribune, rédigée par un membre de B._, qui "souhaitait réaffirmer que vous n'êtes et n'avez jamais été membre de B._"; l'association avait besoin pour "des questions de protection des données", de l'accord du magistrat pour rendre cette information publique; le Procureur a répondu le lendemain qu'il n'était pas nécessaire que "mon absence d'appartenance à votre association, passée et présente", soit confirmée publiquement par celle-ci, de sorte qu'il ne lui donnait pas son accord.
Le 17 novembre 2014, A._ a formulé une cinquième demande de récusation, au motif que le Procureur a refusé de répondre à trois questions suscitées par les courriers des 16 et 17 juin 2014: les interrogations portaient sur son appartenance passée à B._ et aux donateurs de cette association ainsi que sur les données personnelles dont disposait B._ le concernant. Dans ses observations devant la cour cantonale, le Procureur a exposé que le courrier qu'il avait reçu de B._ et la réponse qu'il y avait apportée ne constituaient pas des faits nouveaux, dans la mesure où ils confirmaient simplement "l'absence d'appartenance à B._"; le courrier de l'association avait manifestement été écrit pour faire suite aux informations erronées relayées dans la presse; sa réponse consistait simplement à refuser, au motif qu'il n'était "pas opportun d'instruire les causes par voie de presse"; ces courriers avaient été joints aux observations du Ministère public à la Chambre d'appel et de révision car la défense était revenue, dans son appel, une nouvelle fois sur ce thème en sollicitant l'audition d'un témoin, dans le but de déterminer s'il avait été membre de celle-ci; ces courriers avaient été produits pour clore définitivement le sujet; la référence de B._ à la protection des données était motivée par le fait que "les associations ne peuvent divulguer publiquement qui est membre ou non de leur association sans l'accord des personnes concernées"; enfin il n'était pas donateur de B._. Par arrêt du 2 février 2015, la Chambre pénale de recours de la Cour de justice du canton de Genève a déclaré irrecevable la requête en récusation pour cause de tardiveté, le courrier du 16 juin 2014 ne contenant pas d'information de nature à faire apparaître un nouveau délai pour déposer une demande de récusation au motif pris des liens supposés entre cette association et le magistrat.
D.
Agissant par la voie du recours en matière pénale assorti d'une demande d'assistance judiciaire, A._ demande principalement au Tribunal fédéral d'annuler cet arrêt, d'ordonner la récusation du Procureur Yves Bertossa et d'annuler les actes de procédure auxquels ce dernier a participé. Il sollicite subsidiairement qu'ordre soit donné au Procureur de répondre aux questions qui lui ont été posées par courrier du 5 novembre 2014 et de convoquer le directeur de B._ en qualité de témoin.
Invités à se déterminer, la Cour de justice se réfère à son arrêt, sans observations, alors que le Procureur Yves Bertossa conclut au rejet du recours. Le recourant a déposé de nouvelles observations, le 23 avril 2015, persistant dans ses conclusions.
Considérant en droit :
1.
Le recours est dirigé contre une décision d'irrecevabilité prise en dernière instance cantonale; sur le fond, la contestation porte sur la récusation d'un magistrat pénal. Le recours est dès lors recevable comme recours en matière pénale selon les art. 78 et 92 al. 1 LTF. Le recourant, dont la demande de récusation a été rejetée, a qualité pour agir (art. 81 al. 1 LTF).
Les juges cantonaux ayant refusé d'entrer en matière sur le recours, seule la question de la recevabilité de la requête de récusation peut donc être portée devant le Tribunal fédéral qui n'a, à ce stade, pas à examiner le fond de la contestation. Les conclusions du recourant tendant à la récusation du Procureur et à l'annulation des actes de procédure auxquels ce dernier a participé sont donc irrecevables. Il en va de même des conclusions enjoignant le Procureur de répondre aux questions posées par la défense le 5 novembre 2014.
Pour le reste, les autres conditions de recevabilité sont réunies, si bien qu'il y a lieu d'entrer en matière.
2.
Le recourant se plaint d'une violation des art. 29 al. 1 Cst., 6 par. 1 CEDH et 56 let. f CPP. Il reproche à la Cour de justice d'avoir retenu qu'il aurait dû poser la question précise des données dont disposait B._ à son sujet en septembre 2012 et que l'échange de correspondance des 16 et 17 juin 2014 ne constituait pas un fait nouveau ni même un indice de récusation.
2.1. Conformément à l'art. 58 al. 1 CPP, la récusation doit être demandée sans délai, dès que la partie a connaissance du motif de récusation, c'est-à-dire dans les jours qui suivent la connaissance de la cause de récusation (arrêts 1B_60/2014 du 1er mai 2014 consid. 2.2; 1B_209/2013 du 15 août 2013 consid. 3.1 et les arrêts cités), sous peine de déchéance (ATF 138 I 1 consid. 2.2 p. 4).
Par ailleurs, l'art. 57 CPP, à l'instar des art. 48 CPC et 35 LTF, prévoit un devoir spontané du magistrat de déclarer un motif de récusation.
2.2. En l'espèce, le Procureur a affirmé ne pas être membre de B._ et ne jamais avoir demandé à l'être; à sa connaissance, il n'a pas été membre de cette association. Il a aussi déclaré ne pas être donateur de B._ et, selon ses souvenirs, ne pas l'avoir été. Il n'avait dès lors pas d'obligation de déclarer un motif de récusation au sens de l'art. 57 CPP. Par conséquent, seule entre en considération la requête présentée par le prévenu dès qu'il a eu connaissance du motif de récusation (art. 58 al. 1 CPP).
Or la question des liens du magistrat avec l'association précitée est évoquée depuis le début de la procédure. Elle a déjà fait l'objet de plusieurs demandes de récusation, notamment en août 2012 et en juillet 2013. Cette problématique a d'abord été traitée par la Cour de justice dans son arrêt du 15 octobre 2012, puis par le Tribunal fédéral dans son arrêt du 10 janvier 2013 (1B_685/2012). Dans l'arrêt précité, celui-ci avait notamment constaté qu'il ne suffisait pas que le Procureur ait eu par le passé des engagements proches de ceux défendus par l'association B._ et qu'il ait pu côtoyer des membres de celle-ci pour imposer sa récusation, à l'instar de ce que la jurisprudence avait considéré pour un juge du Tribunal des baux autrefois avocat d'une association de défense des locataires (cf. ATF 138 I 1 consid. 2.3 p. 4).
La question des rapports entretenus par le Procureur et B._ a ensuite à nouveau fait l'objet d'une demande de récusation, le recourant reprochant au Procureur de ne pas avoir répondu à la question posée par ses conseils le 23 juillet 2013, "avez-vous été membre de l'association B._?". Par arrêt du 19 août 2013, la Cour de justice avait déclaré irrecevable la requête de récusation pour cause de tardiveté, celle-ci ayant été déposée alors que la question liée à l'indépendance du Procureur vis-à-vis de B._ avait déjà justifié deux requêtes de même nature, qui avaient été rejetées en dernier lieu par le Tribunal fédéral.
Le Tribunal fédéral a confirmé ce raisonnement (arrêt 1B_321/2013). Il a considéré que si le recourant avait jugé lacunaire le traitement de la problématique des liens entre le magistrat en cause et l'association B._ au motif que la question de l'appartenance passée du Procureur à cette association n'avait pas été abordée, il lui appartenait de soumettre cette question dès réception de l'arrêt de la Cour de justice du 15 octobre 2012, au plus tard dès réception de l'arrêt du Tribunal fédéral du 10 janvier 2013: le prévenu n'expliquait pas pourquoi il avait attendu le 23 juillet 2013 pour le faire, alors qu'entre-temps il avait déposé plusieurs requêtes de récusation reposant sur d'autres motifs; dans ces conditions, en gardant ce moyen en réserve pour l'invoquer onze mois après son arrestation, alors que l'instruction ne suivait pas le cours désiré, il avait contrevenu au principe de la bonne foi; en attendant six mois depuis la réception de l'arrêt susmentionné du Tribunal fédéral traitant des liens entre le magistrat et l'association précitée, l'intéressé avait vu son droit de se prévaloir de ce motif de récusation se périmer.
Dans ce contexte, la question litigieuse est celle de savoir si les deux lettres versées à la procédure en octobre 2014 constituent des faits nouveaux, justifiant le départ d'un nouveau délai pour déposer une demande de récusation. En d'autres termes, il s'agit d'évaluer si la question d'un éventuel don à B._ aurait dû être posée entre septembre 2012 et janvier 2013 lorsque la problématique des rapports entre le Procureur et B._ avait été examinée successivement par la Cour de justice et le Tribunal fédéral.
Dans le courrier litigieux du 16 juin 2014, B._ annonçait, "suite aux mises en cause qui ont été relayées dans les médias au sujet d'une prétendue proximité entre vous et notre association", vouloir demander la publication d'une tribune, rédigée par un membre de B._, qui "souhaitait réaffirmer que [le Procureur] n'est et n'a jamais été membre de B._". Le courrier de B._ avait donc pour but de clarifier des informations erronées parues dans les médias concernant le Procureur et l'association, par le biais de la publication d'un article. L'association précisait encore avoir besoin, pour "des questions de protection des données", de l'accord du magistrat pour rendre cette information publique. Quoiqu'en dise le recourant, on ne peut déduire de cette simple phrase un indice que l'association précitée posséderait des données dignes de protection concernant le Procureur (qualité de membre, liens de collaboration, dons). En effet, les associations sont tenues par la loi fédérale sur la protection des données du 19 juin 1992 (LPD; RS 235.1) de ne pas fournir de "données personnelles", soit "toutes les informations qui se rapportent à une personne identifiée ou identifiable" sans le consentement des personnes concernées (art. 3 let. a et 4 al. 5 LPD); l'appartenance tout comme la non-appartenance à une association en font partie. Le contenu de cette lettre ne contient par conséquent aucun élément nouveau quant aux relations entre le Procureur et B._, de sorte qu'il n'est pas susceptible de faire partir un nouveau délai pour une demande de récusation.
Il en va de même de la deuxième pièce, à savoir la réponse du Procureur du 17 juin 2014, dans laquelle il exposait qu'il n'était pas nécessaire que "son absence d'appartenance à l'association, passée et présente", soit confirmée publiquement par celle-ci, de sorte qu'il ne lui donnait pas son accord. Il ne ressort de ce courrier aucune nouvelle information quant aux liens entre le Procureur et l'association. Le Procureur pouvait au demeurant refuser de donner son consentement au motif qu'il n'est pas opportun d'instruire les causes par voie de presse, tout comme il pouvait verser au dossier l'échange de correspondance professionnelle de juin 2014, par souci de transparence et vu que la défense a sollicité l'audition d'un membre de B._ notamment pour déterminer si le Procureur avait été membre de l'association.
Enfin, le recourant soutient qu'il n'aurait pas pu poser la question précise des données dont dispose B._ à son sujet en septembre 2012, au motif qu'il n'avait aucune raison de penser que le Procureur aurait fait des donations à B._. La question de savoir si le Procureur a versé un don à B._ entre dans la problématique des liens entre le magistrat en cause et l'association, qui a été évoquée en début de procédure et que différentes instances ont eu l'occasion d'examiner. Le recourant ne peut se saisir du moindre prétexte pour poser la même question relative à sa supposée appartenance à B._, sous des angles différents, et pour demander sa récusation, ce d'autant moins que le Procureur a exposé devant l'instance précédente et devant le Tribunal fédéral qu'il n'est pas donateur de B._ et qu'à ses souvenirs il ne l'a pas été. Le motif invoqué à l'appui de cette cinquième demande de récusation aurait déjà pu être évoqué auparavant. En attendant presque deux ans depuis la réception de l'arrêt susmentionné du Tribunal fédéral traitant des liens entre le magistrat et l'association précitée, l'intéressé a vu son droit de se prévaloir de ce motif de récusation se périmer. La Cour de justice pouvait ainsi, sans violer le droit fédéral, déclarer la requête tardive et donc irrecevable au motif qu'elle n'avait pas été présentée "sans délai" au sens de l'art. 58 al. 1 CPP.
3.
Le recourant se plaint enfin d'une violation de son droit d'être entendu, plus précisément de son droit de faire administrer des preuves. Il reproche à l'instance précédente de ne pas avoir donné suite à sa demande d'auditionner le directeur de B._, rédacteur du courrier du 16 juin 2014. Il allègue que l'audition de cette personne est indispensable pour savoir pourquoi il a demandé le 16 juin 2014 "une autorisation personnelle du Procureur au titre de la protection des données" et pour indiquer quelles sont les données dignes de protection détenues par B._, notamment si le Procureur figure parmi ses donateurs.
Garanti à l'art. 29 al. 2 Cst., le droit d'être entendu comprend notamment le droit pour l'intéressé d'offrir des preuves pertinentes, d'obtenir qu'il soit donné suite à ses offres de preuves pertinentes, de participer à l'administration des preuves essentielles lorsque cela est de nature à influer sur la décision à rendre (ATF 137 IV 33 consid. 9.2 p. 48 s. et les références citées).
Vu le raisonnement qui précède (consid. 2 supra ), l'audition du signataire du courrier n'est pas en mesure de rendre non tardive la demande de récusation; elle est par conséquent sans incidence sur l'issue du litige.
Le grief tiré de la violation du droit d'être entendu doit ainsi être écarté.
4.
Il s'ensuit que le recours est rejeté, dans la mesure de sa recevabilité.
Dans la mesure où le recours paraissait d'emblée voué à l'échec, l'assistance judiciaire ne peut être accordée pour la procédure devant le Tribunal fédéral (art. 64 al. 1 et 2 LTF). Il convient cependant, dans les circonstances données, de renoncer à percevoir des frais judiciaires (art. 66 al. 1, seconde phrase, LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté, dans la mesure de sa recevabilité.
2.
La demande d'assistance judiciaire est rejetée.
3.
Il n'est pas perçu de frais judiciaires.
4.
Le présent arrêt est communiqué aux mandataires du recourant, au Procureur Yves Bertossa et à la Cour de justice du canton de Genève, Chambre pénale de recours.
Lausanne, le 27 avril 2015
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président : Fonjallaz
La Greffière : Tornay Schaller