Let resources decide when to update

Previously, the StackUpdate code decided when an update was necessary for a
resource. However, all of the information required to make this decision is
available to the resource, so push this decision into the resource so that
it can implement custom behaviour if necessary.

Change-Id: If098424cf2502c02bad4194d509393d198d8745f
Merge "Let resources decide when to update"