Replace `expects` with `stubs` in SnapshotComparer spec

We were using these to simply have the SnapshotComparer return a
specified value and didn't want to necessarily set up an expectation
that would be asserted here. Changing to more clearly communicate our
intention.

Change-Id: I65b0d54ba910bdcd6ad3df46a3c599d220b7cfbe
Change "changed" color from magenta to violet

The magenta we were using was visually too close to the red we were
using. When these colors were next to each other, it was difficult to
tell them apart. This commit attempts to make it easier to see the
difference between these two colors by changing magenta to violet. I had
considered changing red, but since it has significant meaning baked into
it, it seemed that magenta was the best choice to change.

Change-Id: I21900de77530e9afc4e1f67aaf65b931424a34d4
Fix swapped before/after images

When I first implemented this, I had a strange issue where rows that
were `#added?` were actually deleted, and rows that were `#deleted?`
were actually added. At the time I did the quick fix of just swapping
the colors, since we treat these the same except for this one color.
This commit fixes it further upstream by swapping the before and after
images that are sent to sdiff.

Change-Id: I793b02928be833f77431f04c9a40a474737ab1c1
Render indicator gutter on diff image

It may be difficult to spot which rows were changed, added, or deleted.
This commit aims at making this easier by adding an indicator gutter of
the relevant color to indicate the row's state.

Change-Id: If8c0640355128a4021d7f63276af0c7c34ac1f6c