(#552) add chrome.storage.local functionality

There's no tests for the actual chrome storage stuff, but that would just require us to run tests in a chrome app. Currently implementation is such that it uses chrome.storage.local if it exists, but otherwise uses localStorage.