More expected behaviour for memojs event emitting in IE

This PR solves to things:

1. IE uses local storage for a lot of things, which means that memojs are passing and firing events for all these native events. This means that when the storage event values are not JSON, there will be thrown exceptions. The solution for this is only to pass events with memojs-listeners and to silenty parse the event values as Javascript instead of throwing exceptions.

2. IE does not only notify other windows about local storage events (as the many other browsers), it also notifies the window that fires the event. This means that if you have a circular binding with events for memojs for a given key and another observable, there will be a infinite loop between memojs and the other observable. This is solved by only emitting events, when the storageEvent oldValue and newValue are unequal.