Bug 1074732 - [Messages] Create a mixin to handle the select UI model

- Create a selection mixin and extend the methods into view modules.
- Unify the UI update into one method and adjust the update flow to change the selected data first, then update (visible) UI based on data.
Since there are more DOM elements will need to be involved in the selection handler if we want to creates a new encapsulated instance for it(like checkUncheckAllButton, editMode, deleteButton or maybe even readButton in the future), there are 2 different idea for this handler:
1) Put all the required elements in the mixin, then we deal both UI and data update in this module.
2) Keep updateInputsUI and checkInputs in original view and provide these 2 methods(and getAllItems) for mixin, then we don't have to deal with all the DOM elements in module.

The 2nd approach is more close to my original thought, but leaving the duplicate  updateInputsUI and checkInputs seems a little bit redundant. Another idea if giving updateInputsUI and container for mixing and still keeps checkInputs in other elements in view. Wdyt?