Fix scheduling future saves if save() throws an exception
Create ~/.config/shell-chat-account-groups if needed

Fixes #3. Thanks to davux for the report.
Use os.path.join

GLib.build_filenamev is fugly
Show an error dialog when saving fails
Raise exceptions if the model is inconsistent.
Centre the editor window