Merge pull request #16947 from dwi2/bug976986

Bug 976986 - SettingsListener should have unobserve() method
Merge pull request #17495 from gasolin/sheriff976986

Merge pull request #16947 from dwi2/bug976986, r=timdream