Give more context in the error message when parsing a package.json throws
Fix a couple of bugs + improve some error messages

* Ensure that we don't mis-interpret directories as files
* Add the file name in the output when there's trouble reading a file or
  parsing a package.json