Add SessionStorage based store

This implements a new store, the sessionStorage store, which may be better in some use cases than persisting auth tokens indefinitely in localStorage.
This shouldn't be necessary as sessionStorage is isolated between tabs/windows anyway.