refactor(storage): instantiate localStorage from a factory

Fixes #1921.

@ckarlof r?
The user model should use the Storage factory method instead of using the constructor directly. By doing this we can remove `NullStorage` from the injected dependencies.