new implementation of try::file

had to create an entirely different implementation of try::file, using execs, because the built in "file" resource of puppet can't be used for what I want, because if you specify $source, it always bombs out if source doesn't exist, regardless of dependencies.

in hindsight, try::file is a bad idea, if only because it has been so difficult to implement. i hate how limited puppet is, and when i want to do something i don't like taking no for an answer.

this new try::file works for copying files, where as the previous ones did not. the only downside is that the dependencies for chmod, chgrp, and chown are noisy when they get triggered. i wish i could suppress these notices, but changing loglevel didn't seem to have any effect.