Layout_builders: introduce posets for better performances

J'ai corrigé le problème dans flatten_mclass_hierarchy qui casse les tests base_no_object et base_empty_module. Le problème venait du fait que dans la création du poset seul un add_edge était utilisé, dans le cas d'un element sans parent, le add_edge n'était jamais appelé. Du coup j'ai juste rajouté un add_node avant.

Pour la création du Poset des mtypes appelé deux fois c'était bien vallgrind qui se plantait. Parcontre le poset des mclass était construit deux fois, une fois pour les methodes, une fois pour les attributs, j'ai corrigé ça.

Au final on passe de 21,23 à 18,5 sec. Ces chiffres sont obtenus grâce à la commande `/usr/bin/time -f "\n%E elapsed,\n%U user,\n%S system,\n%M memory\n%x status" $NITG ../src/nitg.nit -o out.tmp`. La commande est lancée 5 fois de suite d'abord avec $NITG = nitg issu du commit précédent puis 5 fois avec $NITG = nitg après changement. La première exécution est écartée avant de faire la moyenne.