tab: save_async() and save_finish() to get the result

The external tools plugin needs the result of the file saving, whether
there has been an error or not. But since the error paramater of the
GeditDocument::saved signal has been removed, the idea is to implement
the following functions:
- gedit_commands_save_document_async()
- gedit_commands_save_document_finish()

This commit is the first step, the next step is in gedit-commands-file.

Ideally the file loading should be a GTask too, but the external tools
plugin only needs the file saving.

https://bugzilla.gnome.org/show_bug.cgi?id=739686
commands-file: make some functions static

Plus remove _gedit_cmd_file_open_uri() (dead code).
commands-file: misc code clean-up for the file loading
commands-file: use gedit_file_chooser_dialog_get_window()

The OS X implementiton returns NULL, the GTK+ implementation returns
GTK_WINDOW (dialog).
commands-file: misc code clean-up