recipe_eval always assumes something changed.

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
Use full fingerprints for key comparisons
Skip downloading keys from keyservers when they are already installed
Merge remote-tracking branch 'banno/COOK-2767' into repository-fingerprints