Bug 901079 - [Contacts] Contacts list should offer a select mode

Finally adding the `renderSelectCheck` in just 2 places to ensure we draw a check when we render a contact on demand.

As well needed to return a promise of contacts when we click on 'select all', since we will render on demand and won't have all the checkboxes there.

Maintaining  the two methods `enterSelectMode` and `exitSelectMode` since we are able to send a promise and the wait UX will happen in the consumer of this method, let's that consumer the chance to return the list back to it's normal state, also valid for cancelations.

Also tried to modify the test and leave them as much independent as possible.

Thank you again folks for reviewing