track OS, node & app version, updated docs & tests

As promised. This is crucial for debugging. Fixes https://github.com/yeoman/insight/issues/12. Note that tracking app version is sort of a hack using custom dimensions. Once we refactor from using GA web tracking to GA app tracking, we won't need it anymore. However we'll still need custom dimensions to track OS and node versions.

This should not break any currently deployed implementations, only adding new data.
Why are you falling back to undefined string?