Bug 908657 - [Messages] the "unread" bit is not always removed when we r...

...ead a thread r=borja

* added a markThreadRead in MessageManager, make the code easier to read and it
  will make it easier to use the new method from Bug 912943.
* added a "done" callback that is always called by getMessages
* we always mark the messages as read so removed unnecessary arguments to this
  method
* made renderMessages take a threadId instead of a filter, this was a leftover
  of our conversion to threadId instead of phone numbers