Change file reading to correctly transfer binary data to client.

Currently, images like pngs are not transferred correctly. To see this in action, launch the runner with `proxyOnly=1` and navigate to http://0.0.0.0:9000/dijit/themes/claro/form/images/buttonEnabled.png. The preview in Chrome's dev tools should be blank. This pull request fixes the problem by only using `fs.readFile()` on JS files and using `fs.exists()` and `fs.createReadStream()` on the rest.