Bug 1111482 - Introduce PromiseStorage +shepherd

Let's use strictEqual to compare against undefined, like how we use === when needed.