Ignore exit codes from "npm list --json" as they can be misleading

Instead just try and parse the JSON on stdout.  If the command doesn't
produce JSON fail, then the error handler still exists.  Bugs in npm or
packaging like https://bugzilla.redhat.com/show_bug.cgi?id=986422 can
cause package lists to come back empty even if the error's harmless.