Adds a store factory

Create the store by passing in a scope, name, and default value. The current value is are fetched from localStorage, and changes to the object are synched with localStorage. The value is JSON stringified, so only store primative/simple values and the value must be an object.

Includes changes from #869
general cleanup after last commmit
Merge pull request #870 from spenceralger/localstorage_store

Adds a store factory