Add puppet:/// support for gf

Override vims default gf behaviour to make it try files for the puppet:/// URLs
that can be used in manifests. Includes a fallback to the normal gf behaviour.

This might not be ready to merge without some discussion. I'm not certain if this is useful for all puppet projects, but it works in the non-modularised project I am currently working on. I'm also not sure if looking for `hiera-data` is the best way of finding the puppet project root.

Is this something that could be useful in the vim-puppet plugin? If so, I might be able to add support for following `template()` paths as well.