Bug 973450 - [settings] refactor Device information panel with AMD patte...

separate hardwareInfo retrieval and check update function into separate modules, and make related tests works in AMD.
If we want to make this module work, we must assume `this._settings` is not null at first before calling `this._loadLastUpdated();` in `init()`