commands-file: save_as_tab_async()/finish()

Before this patch, save_as_tab() was used for various other bigger
tasks. When a tab was saved, it looked if there were other tabs to save,
or if the tab should be closed.

Now save_as_tab() is an async function with the conventional
async()/finish(). Bigger tasks can be accomplished in the ready
callback, but it'll be done in later commits for clarity (see the TODO
comments).

https://bugzilla.gnome.org/show_bug.cgi?id=739686
commands-file: close_tab() in async ready callback