Don't throw on chrome when sessionStorage is disabled

Chrome is really strict; even (typeof sessionStorage) throws a
'SecurityError: Access is defined' when cookies & local storage
are blocked.  Borrow the logic from history.js; it relies on
catching the exception.

This should fix a problem with reload-safetybelt for users with
Chrome in no-cookies mode.
Rename sessionStorage -> safeSessionStorage, for clarity