[Main] Implemented updating and saving

* Added PageEditPanel
* Implemented save, setCurrentFile methods
* Added getData methods
[Main] Included ID into repo entry name
[Main] Added text field
[Main] Saves JSON now in pretty-print
[Main] IDs are now represented by QLabels

* Text field is updated on file change
[Main] Fixed segmentation fault on exit
[Main] Added save shortcut
[Main] Improved save functionality

* An asterix in the title symbolizes unsaved modifications
* Replaced QGridLayout with QFormLayout