Add remaining D keywords
main: Refactor quit functions

Move quit-related functions to main.c and make them static. main_quit() now
does all the heavy work and can be called from signal handlers.
Update Scintilla to version 3.4.4
Use ui_button_new_with_image() to build image buttons
Add tooltips to explain the purpose of the New Project dialog fields
Ask whether to overwrite the project file when creating a new project
Custom commands dialog: Make sure the selected item is always visible

Always bring back the selected item after an user action, so the user
can see what she's doing.
Update of Greek translation
Update of Greek translation
Merge most of PR#298
Fix crash when quitting with an infobar visible

When the infobar gets closed/destroyed it tries to focus the possibly
destroyed document, leading to a crash.
Fix closing the documents when quitting

When quitting we avoid doing some unnecessary actions, and used to
simply destroy the Scintilla widget (and thus the notebook page)
instead of the elaborate UI updates.

Unfortunately, when the infobars landed they changed what is packed as
a notebook page, and now destroying the Scintilla widget alone is not
enough to close the page.  Fix this by properly removing the whole page
no matter what it contains.

This issue was visible when quitting Geany with a project open.
document.c: Handle documents with pending info bars on close

When an info bar is shown the document is set to changed. But it is
prevented from being saved until the the info bar is dealt with by the user.
However, when closing the document, this is not desirable because the pop up
dialog ("save changes?") offers to save the file which should work regardless
of an info bar.

To avoid ambiguous code we now also use custom but properly named response ids.