Bug 1084298 - [Messages] Decoupling the all inputs query logic from DOM tree structure

- Add map for each view for maintaining the data for rendering/selection
Thinking about this.... It looks like ```getAllInputs``` doesn't really correspond to what we're doing here + selectionHandler should only know about ```keys\ids``` and probably ```indecies```, not about real entities. Maybe we can have ```getAllKeys\getKeys``` instead, that will return list of _number_ or _string_ keys\ids, every "source" knows how to get key from its own entity (ThreadListUI->Thread->Id, ThreadUI->message->Id). In this case ```getAllKeys``` will always return the same type ```Array.<number/string> or Iterator.<number/string>``` + ```SelectionHandler``` won't be able to modify original data in any way.

What do you think?