Move service worker dataset context to a common space, to be used by notifications

Build: https://builds.cask.co/browse/CDAP-DUT353-1
I don't think having a loading cache passed from a public constructor is a good idea. You can make this class abstract and require sub-classing to "configure" it correctly (e.g. passing in an optional loading cache).