Module path

@FreakyDazio I've seen you looking at this project, that makes you qualified to review my PR :-)

The goal is to add a capistrano param :puppet_module_paths which adds to the puppet `--modulepath` param (needed so that when we're running on Amazon Linux the puppet can find the plinth module)
but I first did a bunch of refactoring to extract an object so that it's possible to sanely test the files it creates