Cleanup

Several fixes based on @sindresorhus comments:
- Added test for file with file.contents === null
- Use map-stream directly
- Use gulp-util for extension replacement

Some other small code style / documentation fixes.