Configurable digest algorithm 14aug2012

Let the admin configure in puppet.conf which digest algorithm to use for file resources. I think these changes fulfill https://projects.puppetlabs.com/issues/8120.

These are the same changes as the original configurable digest algorithm pull request, https://github.com/puppetlabs/puppet/pull/195, but rebased on a more recent master-branch commit.

The ill-fated branch configurable-digest-algorithm-aug2012, and its pull request https://github.com/puppetlabs/puppet/pull/1033, are retracted in favor of this branch and pull request.