Merge branch caching wrapping in background script
This elminates async browser.storage.sync, however, the message passing
is still asynchronous. So #40 is not fixed.
This also helps with #25 because backgound remembers domains afftected
by the CSP bug in Firefox.