engine : move update_template_diff functions into Resource

Move the update_template_diff and update_template_diff_properties
functions into resource.Resource - since they now raise
resource.UpdateReplace we can avoid ever calling handle_update if
the resource update will result in replacement

Note a further cleanup will probably be to combine the two diff
functions into one recursive diff, which will further simplify this

Change-Id: I839f0c4448a2d869f35e0a4f19d17f31c5c6f9af