Add sessions permission to manifest.json

Fixes tab restoration
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
Merge branch 'fix-tab-restore' of github.com:mrmr1993/vimium into mrmr1993-fix-tab-restore
Merge branch 'mrmr1993-fix-tab-restore'