[ios] Moves session restoration out of the TabModel constructor.

TabModel's constructor used to take a SessionWindow as its first
argument, and it used that to populate the WebStateList with an initial
set of tabs.  The restoration happened at the end of the constructor,
however, making it easy to move the session restoration into another
function.  Callers that used to pass a non-nil SessionWindow now call
-[TabModel restoreSessionWindow:forInitialRestore:] immediately after
construction.

BUG=923476

Change-Id: I89b0406e7c68563a803fbef082fbd2ecf98abdd0
Reviewed-on: https://chromium-review.googlesource.com/c/1422959
Reviewed-by: Mark Cogan <marq@chromium.org>
Commit-Queue: Rohit Rao <rohitrao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624760}
8 files changed