Use DiffCallback in ContextualCardsAdapter to only update items that
are changed instead of touching those unchanged ones.
Also fix a bug where ConditionContexualCardCard#onStart is incorrectly
skipped.
Fixes: 112245748
Bug: 118165942
Test: robotests
Change-Id: I7989d621764fe40a3fceb8c9f40baced840818ba