(#39) - WIP - DON'T MERGE - catch errors

also trying to proactively isolate localstorage-specific code so I can easily make an async abstract-keyvalue-down.