Bug 976986 - SettingsListener should have unobserve() method

1. Add unit test of SettingsListener
2. Add unobserve() method in SettingsListener
3. Remove unnecessary MockSettingsListener in home_gesture_test.js and captive_portal_test.js since they are already using MocksHelper to do that.

https://bugzilla.mozilla.org/show_bug.cgi?id=976986