Change to more robust file checking

The `isFilePath` function simply checked for the presence of a period in the output path. This isn't a reliable way to detect files vs. directories (directories can have periods in their names, and files don't have to).

This switches to using `fs.statSync` to check if `stat.isFile()` is true, which actually detects files vs. directories.

**Note:** this does change from using the `outputPath` to using the `inputPath` for the blueprint file. As far as I could tell, this change should be fine, but I might have missed something.