[COOK-2767] apt_repository isn't idempotent. fix this.

`recipe_eval` always assumes something changed.

So instead just dupe the run context and run inside of that.

Hat tip to: http://realityforge.org/code/2012/07/17/lwrp-notify-on-changed-resources.html