Use server.js/app.js when the start script in package.json is invalid.

I try to address two issues in this commit:
- Previously, people may unintentionally left the start script in `package.json` (`"scripts" : { "start" : "node index" }`) defined, yet using `server.js`/`app.js` as their app's entry point. 35fab0c7 broke their behavior. I try to alleviate this issue by checking whether the start script points an existing file. Fixes #1165.
- `node index` as start command can mean the start script is either `index` or `index.js`. `iisnode` needs the full file name. This is not an issue before we started to support custom start script. I am fixing it here as well.