Remise de la partie un du TP.
Remise du TP 2
==============
Changements:
 - Refermeture de la classe Classe.
 - ProxyTypeClass surclasse CompilerGeneratedContainer en lieu de Classe
 - Générations des méthodes d'interface des proxy
 - Compilation à partir du make bootstrap de mono qui fonctionne

Ce qui fonctionne bien:
   - Méthode public
   - Méthode explicite pour redéfinition avec type de retour différent.
     Par exemple, l'interface IEnumerable<T> défini deux méthode GetEnumerator()
     avec un type de retour différent. Celui de base (IEnumerable dans ce cas) est
     générer en méthode implicite (IEnumerable.GetEnumerator) pour que le proxy redirige
     correctement les appels aux méthodes d'interfaces cachées.
   - Propriété et indexeur
   - Le constructeur du proxy généré s'assure que le paramètre n'est pas nul
     et qu'il implémente toutes les interfaces définies.
   - Les interfaces sont implémentés récursivement.

Ce qui fonctionne mais qui n'est pas testé:
   - La redéfinition de proxy. Puisque les méthodes générées sont virtuelles,
     la redéfinition est incluse. Aucun effort a été mis pour tester cet
     effet de bord puisqu'il s'agit du but de la remise 3

Ce qui ne fonctionne pas:
   - Les proxy génériques (proxy<T>) ne semble pas fonctionné. Ça compile, mais ça plante.
     Cette fonctionnalité n'est nécessaire que pour la redéfinition de proxy, quoiqu'il
     n'est pas spécifié si cette fonctionnalité doit faire parti de la troisième
     remise.


Signed-off-by: belanger-simon-5 <belanger.simon.5@courrier.uqam.ca>