Show diff for the outdated messages

Diff is initially shown as a warning. On click, it expands and shows
full diff.

Minor refactoring and clean up for the warnings handling.

Change-Id: I3615ca06c672529e8bc09ad0fff0b2d6562d353e