Resurrect ability to run tests without karma.
Do not share data between instances of MemoryPersistenceService.

The object of an MemoryPersistenceService which holds the saved data
(MemoryPersistenceService.prototype.storage) is written directly on the
prototype object, which means that every instance  has the same storage
object:

    var s1 = new MemoryPersistenceService().storage;
    var s2 = new MemoryPersistenceService().storage;
    assert(s1 === s2);

This is clearly not desired, as two separate instances share the same data. This
commit fixes this problem by creating a new storage object every time a new
instance is created.