865 introduce diffs controller

This is the last part of #865. We should create a more beautiful diff view afterwards, but that's "just cosmetics" (issue 922)
Metrics/LineLength: Line is too long. [81/80]