Puppetfile: New lens to parse the Puppetfile format

Yes. Theoretically, it could be anything Ruby, so we just need to do our best and trust that people at not coding anything in there (as usual with most config formats :cry: )