Allow modules to provide useful information to --diff

`--diff` is a very useful feature, but right now it is only available for templates and copies. However, lots of modules would benefit from being allowed to report their differences. Imagine a check/diff run telling you which packages would be installed by apt/yum etc.

This patch allows modules to return a diff value, which gets passed to the relevant callbacks.