writes `scripts` property in package.json

The writePackageJSON method did not allow to generate a `package.json` that had a `scripts` entry.

This is what this PR solves.

Until now, if there were a `npm_test` prop in the configuration, it was output as a `scripts.test` property in the file. This behaviour has been maintained. However, if the `scripts` property contains a conflicting `test` property, the one provided with `npm_test` takes precedence over it, for backward-compatibility.

--

IMHO, the `npm_test` prop should be eventually deprecated. Some time later maybe... :wink: