[fix bug 1066865] Ignore snippets that link to about:accounts when sync is setup.

I see what you mean now. Remind me to view the code without comments next time I'm confused, it's way easier to see with our discussion out of the way. :P

I agree that the user base of older Firefox versions will grow smaller over time, but I'm still not comfortable with a forced delay. I'm thinking of how the browser team went to the trouble of replacing localStorage use with IndexedDB to remove the synchronous delay of writing to localStorage. I can imagine that perceived slowness of about:home, even at the 100ms level, would change a user's impression of how fast Firefox loads (and they'd blame Firefox, not the snippets service), and I'm scared of messing with that. Scared enough that I think any enforced delays before showing users a snippet are blockers.

> Setting the cache until the next time they hit about:home is like caching for value in case the user reloads about:home?

I don't quite get the question, but essentially:

- User hits about:home.
- Check a value, let's say `syncSetup`, stored in `gSnippetsMap`. If it doesn't exist, or if `gSnippetsMap` is missing (older versions), default the value to False.
- Show the user snippets based on the value of `syncSetup`.
- Once the snippet is shown, dispatch the custom event and write the status of whether sync is setup to `syncSetup`. Again, if `gSnippetsMap` is missing, do nothing as `about:accounts` doesn't exist in these older versions.