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.
Merge pull request #56 from domcleal/ignore-exitcode

Ignore exit codes from "npm list --json" as they can be misleading
Set $HOME for npm commands.
Added logic to only set $HOME on puppet 3+.
Merge pull request #59 from myplanetdigital-experimental/59-npm-set-HOME

Set $HOME for npm execs (pkgs like node-gym require)
Changed Amazon package name
Merge pull request #61 from davideme/master

Changed Amazon package name