FIX: Correct order of tab and window restore commands.

The tabpage and window arguments given to s:jump_to_window() refer to the current values, so when inserting into the session file, first the tabpage, then the window (in that tabpage) have to be restored.
Handle (i.e. do not increase) zero-width windows.

The :windo command enters each window, which causes the height to increase to at least 1 (to make the current line visible). (The so-called "Rolodex mode" uses stacks of 0-width windows, with only one maximized.)
To avoid changes to the window layout, it (and the current window number) need to be saved and restored after the :windo. This affects the iteration in s:check_special_tabpage() (during :SessionSave) as well as the commands added to the session (on :SessionOpen restoring a single tab page).
Merge branches 'fix-tab-win-restore-order' and 'handle-zero-height-windows'