Find binary using the registry on Windows

- As a side effect, normalizeBinary() now returns a promise instead of
  a string
- Change runner to adapt to normalizeBinary() being async
- Add tests and change old tests
- Fallback to reading env var when registry access fails
Use path.join correctly in binary finding test. Refactor test
Style fixes, use done.bind instead of a wrapper
Style fixes
Remove the master promise variable for readability
Merge pull request #126 from XrXr/windows-binary-finding

Find binary using the registry on Windows r=@erikvold