Fail gracefully in restoreTab when runtime.lastError is set

This brings behaviour of the chrome.sessions codepath in line with the
legacy code.
Fence off unnecessary tabQueue code when chrome.sessions is defined