Faits:
A. Le 28 octobre 2002, le Ministère public de la Confédération a ouvert une enquête préliminaire contre le ressortissant kosovar X._ pour infractions graves à la LStup et participation à une organisation criminelle. Le 10 décembre 2002, la prévention a été étendue au blanchiment d'argent. Le Ministère public soupçonne X._ d'avoir mis sur pied, avec des membres de sa famille et des tiers, un trafic international portant sur plusieurs centaines de kilos d'héroïne et de cocaïne, avec des ramifications en Suisse.
Le 4 juillet 2003, le Ministère public a décerné un mandat d'arrêt international contre X._, sur la base duquel celui-ci a été arrêté en Macédoine le 2 août 2003.
Le 29 octobre 2003, la République de Macédoine a extradé X._ à la Suisse. Le Ministère public a décerné un mandat d'arrêt contre X._ qui a été immédiatement placé en détention préventive.
Le 26 mars 2004, le Ministère public a rejeté la demande de libération provisoire présentée par X._. Celui-ci a saisi le Tribunal pénal fédéral, en vain. Le 9 juillet 2004, le Tribunal fédéral a rejeté, dans la mesure où il était recevable, le recours formé par X._ contre cet arrêt (cause 1S.1/2004).
B. Le 21 octobre 2004, le Ministère public a refusé de remettre X._ provisoirement en liberté. Le 10 décembre 2004, le Tribunal pénal fédéral a rejeté le recours formé contre cette décision par X._.
Celui-ci a présenté une nouvelle demande de libération provisoire, le 11 mai 2005. Le Ministère public a rejeté cette requête, le 24 mai 2005.
Par arrêt du 22 juin 2005, le Tribunal pénal fédéral a rejeté le recours formé par X._ contre cette décision.
C. Agissant par la voie du recours au sens de l'art. 33 al. 3 let. a LTPF, X._ demande principalement au Tribunal fédéral d'annuler l'arrêt du 22 juin 2005 et d'ordonner sa libération immédiate, éventuellement assortie de sûretés. A titre subsidiaire, il conclut au renvoi de la cause au Tribunal pénal fédéral pour nouvelle décision au sens des considérants. Il invoque les art. 19 ch. 4 LStup, 44 PPF, 31 al. 3 et 32 Cst., ainsi que l'art. 5 par. 3 CEDH. Il requiert l'assistance judiciaire.
Le Tribunal pénal fédéral a renoncé à se déterminer. Le Ministère public propose le rejet du recours.
Invité à répliquer, le recourant a maintenu ses conclusions.
Le Tribunal fédéral considère en droit:
1. De l'avis du recourant, il serait incompatible avec les art. 5 par. 3 CEDH et 31 al. 3 Cst. que le Ministère public statue sur les demandes de mise en liberté.
1.1 Le Ministère public de la Confédération (représenté par le Procureur général de la Confédération, son suppléant et les Procureurs fédéraux) est partie au procès dans la procédure régie par la PPF (art. 34 PPF). Il dirige les recherches de la police judiciaire fédérale (art. 15 et 104 al. 1 PPF). L'inculpé peut être placé en détention préventive s'il existe contre lui des charges suffisantes, ainsi qu'un risque de fuite ou de collusion (art. 44 PPF). Le Ministère public est notamment compétent pour décerner le mandat d'arrêt avant l'ouverture de l'instruction préparatoire; après celle-ci, c'est le Juge d'instruction fédéral qui décide (art. 45 ch. 1 et 2 PPF). Lorsque, comme en l'espèce, le mandat d'arrêt a été décerné par le Ministère public, sa décision doit être confirmée par le Juge d'instruction fédéral (art. 47 al. 2 PPF). L'inculpé peut demander en tout temps d'être mis en liberté (art. 52 al. 1 PPF). Le refus du Procureur général ou du Juge d'instruction peut être déféré à la Cour des plaintes du Tribunal pénal fédéral (art. 52 al. 2 PPF). Lorsqu'il n'y a pas de motifs d'ouvrir l'instruction préparatoire, le Ministère public suspend les recherches (art. 106 al. 1 PPF). Dans le cas contraire, il requiert le Juge d'instruction fédéral d'ouvrir l'instruction préparatoire (art. 108 al. 1 PPF). Au terme de celle-ci, il communique son dossier au Ministère public (art. 119 PPF). Celui-ci dresse l'acte d'accusation s'il existe des présomptions de culpabilité suffisantes (art. 125 PPF). L'acte d'accusation est transmis à la Cour des affaires pénales du Tribunal pénal fédéral (art. 127 al. 1 ch. 4 PPF). Le Ministère public soutient l'accusation devant les tribunaux fédéraux (art. 15 PPF). Pour ses réquisitions, il s'inspire de sa propre conviction (art. 14 al. 2 PPF) et accomplit ses tâches sans instructions (art. 16 al. 4 PPF).
1.2 Toute personne placée en détention préventive a le droit d'être traduite devant un juge; celui-ci ordonne le maintien de la détention ou la libération (art. 31 al. 3 Cst.). Le juge qui ordonne la détention doit être indépendant du pouvoir exécutif et des parties; il ne doit pas recevoir d'instructions. Il lui appartient de statuer au sujet de la détention dans le cadre d'une procédure judiciaire, après avoir entendu la personne détenue. Le juge examine si la détention est justifiée; au besoin, il la lève (ATF 131 I 66 consid. 4.3 p. 68/69, et les références citées).
Sous l'angle des art. 31 al. 3 Cst. et 5 par. 3 CEDH, il est prohibé que l'autorité ordonnant la détention soit celle qui soutienne l'accusation dans la même affaire (ATF 131 I 36 consid. 2.3 p. 40, 66 consid. 4.3 p. 69, consid. 4.6.1 p. 71, consid. 4.8 p. 73/74, et les références citées). La Cour européenne des droits de l'homme a, dans une affaire concernant le Procureur de district zurichois, jugé que l'art. 5 par. 3 CEDH était respecté dès lors que la séparation personnelle des fonctions d'autorité ordonnant la détention, d'une part, et de celle d'autorité de poursuite ou d'accusation, d'autre part, était garantie (arrêt Schiesser c. Suisse, Série A, vol. 34, par. 31, reproduit in: EuGRZ 1980 p. 201). Dans un cas concernant également le Procureur de district zurichois, la Cour a constaté une violation de l'art. 5 par. 3 CEDH, les deux fonctions ayant été cumulées en l'occurrence (arrêt Jutta Huber c. Suisse, du 23 octobre 1990, Série A, vol. 188, par. 42 ss, reproduit in: EuGRZ 1990 p. 502). L'élément déterminant pour apprécier l'indépendance du magistrat qui ordonne la détention est l'apparence, telle qu'elle peut être considérée objectivement au moment de la mise en détention; l'autorité ne peut plus être tenue pour indépendante dès qu'il existe la possibilité, sur le vu des dispositions de procédure applicables, que le juge appelé à statuer sur la détention puisse être appelé ultérieurement à soutenir l'accusation (arrêt Brincat c. Italie, du 26 novembre 1992, Série A, vol. 249-A, reproduit in: EuGRZ 1993, p. 389; H.B. c. Suisse, du 5 avril 2001, par. 55, 57, 62, reproduit in: JAAC 65/2001 n° 120 p. 1292; Huber c. Suisse, précité, par. 40; cf. également ATF 118 Ia 95 consid. 3a p. 97; 117 Ia 199 consid. 4b p. 201).
La portée de cette jurisprudence, développée initialement à propos du cumul de fonctions exercées par le Ministère public cantonal (ATF 124 I 274; 118 Ia 95; 117 Ia 199), a été étendue au cas où le juge d'instruction ordonne la détention et que sa décision de clôture de la procédure peut, le cas échéant, servir d'acte d'accusation (ATF 131 I 36, 66 consid. 4.6.2, se référant à l'arrêt H. B. c. Suisse, précité). A cet égard, le Juge d'instruction fédéral remplit les exigences d'indépendance requises par la Constitution et la Convention (ATF 131 I 66).
1.3 Sur le vu de cette jurisprudence - dont il n'y a pas de motifs de se départir - le système de la PPF crée une difficulté au regard des art. 31 al. 3 Cst. et 5 par. 3 CEDH, dès lors qu'il est possible que le même Procureur fédéral, dans la même affaire, rejette la demande de libération provisoire, puis soutienne l'accusation devant le juge du fond.
Le Tribunal pénal fédéral estime pour sa part que le contrôle judiciaire du refus de mise en liberté, prévu par l'art. 52 al. 2 PPF, satisferait aux exigences de l'art. 5 par. 4 CEDH (cf. ATF 120 IV 342). Quoi qu'il en soit, cela ne signifie pas pour autant que la procédure suivie en l'espèce soit conforme aux art. 31 al. 3 Cst. et 5 par. 3 CEDH, qui visent l'autorité qui ordonne la détention. En second lieu - mais sans que ses motifs soient limpides sur ce point - l'arrêt attaqué semble distinguer le contrôle initial de la détention préventive selon l'art. 47 al. 2 PPF et le rejet de la demande de mise en liberté ultérieure, selon l'art. 52 al. 2 PPF. Or, cette différence porte uniquement sur l'aménagement du contrôle judiciaire de la mise en détention et non pas - comme en l'occurrence - sur les garanties d'indépendance de l'autorité compétente pour ordonner la détention. De ce point de vue, il est indifférent que cette autorité statue sur l'incarcération initiale (art. 47 PPF) ou sur la levée de celle-ci (art. 52 PPF). Ni la Constitution, ni la CEDH ne font de distinction à cet égard, s'agissant des garanties qu'elles offrent au détenu.
1.4 Pour que le système de la PPF se concilie avec le droit supérieur, l'autorité qui statue sur la demande de libération provisoire dans la phase des recherches préliminaires ne doit pas être la même que celle qui dresse l'acte d'accusation et remplit le rôle de l'accusateur public dans le procès au fond. Une première solution pourrait consister à désigner, au sein du Ministère public, un Procureur fédéral exclusivement chargé de la détention. La séparation personnelle de cette fonction avec celle de l'investigation et de l'accusation serait ainsi garantie. Cette solution présente toutefois l'inconvénient que si les deux fonctions sont cumulées au sein du Ministère public, l'apparence d'indépendance n'est pas garantie dans la mesure où les Procureurs fédéraux sont soumis à l'autorité du Procureur général de la Confédération, dont ils reçoivent les instructions. Une deuxième solution dès lors s'impose, consistant à ce que le Procureur fédéral, lorsqu'il envisage de rejeter la demande de libération provisoire selon l'art. 52 al. 1 PPF, transmette la cause pour décision, avec son préavis, au Juge d'instruction fédéral. Ce magistrat présente en effet toutes les garanties d'indépendance requises par les art. 31 al. 3 Cst. et 5 par. 3 CEDH pour statuer sur ce point. Sa compétence dans la matière, déjà acquise pour ce qui est de l'instruction préparatoire (art. 47 al. 2 PPF), doit ainsi être étendue à la phase de l'enquête préliminaire.
1.5 Les garanties offertes par la Constitution et la Convention n'ont pas été respectées en l'occurrence et le défaut constaté n'est pas remédiable devant le Tribunal fédéral. Le recours doit être admis sur ce point, sans qu'il soit nécessaire de statuer sur les autres griefs soulevés par le recourant. Il se justifie dès lors, dans le sens d'une interprétation des dispositions de la PPF conforme au droit supérieur, d'annuler l'arrêt attaqué et de renvoyer la cause au Juge d'instruction fédéral, comme objet de sa compétence, afin qu'il statue dans le meilleur délai sur la demande de mise en liberté présentée par le recourant. Dans l'intervalle, la détention préventive du recourant sera maintenue. Le présent arrêt se substituera, comme titre provisoire de détention, à la décision du 24 mai 2005, et cela jusqu'à ce que le Juge d'instruction fédéral statue.
2. Il est statué sans frais. Le Ministère public de la Confédération versera au recourant une indemnité à titre de dépens (art. 159 OJ).
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est admis partiellement et l'arrêt attaqué annulé.
2. La demande de libération immédiate est rejetée.
3. La cause est transmise au Juge d'instruction fédéral comme objet de sa compétence.
4. Il est statué sans frais.
5. Le Ministère public de la Confédération versera au recourant une indemnité de 2'000 fr. à titre de dépens.
6. Le présent arrêt est communiqué en copie au mandataire du recourant, au Ministère public de la Confédération et au Tribunal pénal fédéral, Cour des plaintes.
Lausanne, le 14 septembre 2005
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le président: Le greffier: