* handled GObject subclasses registration to ensure compatibility with different versions of Gnome Shell * added restart button to the menu * added function to open an interactive shell This required the introduction of a new method within the Docker module and consequently a new action for DockerMenuItem. Consider refactoring to handle all the logic to produce the final Docker command inside the Docker module. * minor changes to error messages, deleted typos * applied refactoring to move Docker logic in its own module * replaced var with const for utility functions declarations * general refactoring, moved gnome-shell version check into utils module * added EditorConfig file, adjusted files indentation to be consistent with the configuration * handled errors when running interactive commands In case of failure launching an interactive command, a second shell is opened within the terminal emulator to let the user acknowledge the error. * added fallback to /bin/sh when bash isn't available on the container * minor refactoring * applied refactoring to the functions managing Docker commands * refactored code to replace enum commands with actions; switch statements to obtain labels and commands * replaced actions enum with a dictionary containing infos about actions This allows to avoid the switch method for the action label and to move the isInteractive information from the command to the real action