Sauvegarde dans la base de données

Cette PR ajoute la sauvegarde dans la base de données des portefeuilles, rapports et actifs. Les modifications sont aussi sauvegardées (changement de nom, suppression d'un rapport, changement de l'emplacement du fichier d'un rapport).

Je gère cela de manière transparente au niveau de `SessionSaver`. Chaque objet qui peut être sauvegardé monitore son état (à jour, absent de la BDD, modifié). Au moment de la sauvegarde et en fonction de l'état, une certaine action est effectuée (mise à jour ou insertion).

Lorsqu'on sauvegarde, un emplacement est demandé la première fois (et à chaque fois si on utilise `Save as` évidemment). Actuellement, l'emplacement du fichier de base de données est codé en dur et l'emplacement qui est demandé ne sert à rien. C'est pas très compliqué à changer mais il faudrait en même temps changer l'emplacement du dossier `Resources`. Je pense que ce serait mieux de faire ça dans une autre PR...

@BenjBoug J'ai besoin de permettre le changement de l'emplacement du fichier d'un rapport parce qu'il pourrait être changé après la construction avec `setFile()`. Est ce qu'il y a vraiment besoin de cette méthode ? J'ai vu que tu l'utilises juste à la génération des rapports.