Bug 1041765 - [Messages] Thread view redesign. r=schung

Mmm, let me know what option you like more :)
```
var newStatusMarkup = this.getMessageStatusMarkup(status),
    messageDetailsNode = messageDOM.querySelector('.message-details'),
    oldStatusNode = messageDOM.querySelector('.message-status'),
    newStatusNode = newStatusMarkup && this._htmlStringToDomNode(
      newStatusMarkup
    );

messageDOM.classList.remove(
  'sending', 'pending', 'sent', 'received', 'delivered', 'read', 'error'
);
messageDOM.classList.add(status);

if (newStatusNode) {
  if (oldStatusNode) {
    messageDetailsNode.replaceChild(newStatusNode, oldStatusNode);
  } else {
    messageDetailsNode.appendChild(newStatusNode);
  }
} else {
  oldStatusNode.remove();
}
```
or
```
var newStatusMarkup = this.getMessageStatusMarkup(status),
    oldStatusNode = messageDOM.querySelector('.message-status');

messageDOM.classList.remove(
  'sending', 'pending', 'sent', 'received', 'delivered', 'read', 'error'
);
messageDOM.classList.add(status);

if (oldStatusNode) {
  oldStatusNode.remove();
}

if (newStatusMarkup) {
  messageDOM.querySelector('.message-details').appendChild(
    this._htmlStringToDomNode(newStatusMarkup)
  );
}
```