:bug: Handle empty username
:bug: Handle empty username

If Atom is launched in a shell that is missing the `USER`/`USERNAME`
environment variable it locks up due to an unhandled error from
`crypto.update`. This switches to using Node.js's built in
`os.userInfo()` method to retrieve the current user name,
allowing Atom to complete initialization in this scenario.

Fixes #16821.

andrewleverette/atom,Arcanemagus/atom,brettle/atom,t9md/atom,stinsonga/atom,Mokolea/atom,andrewleverette/atom,Mokolea/atom,stinsonga/atom,t9md/atom,t9md/atom,liuderchi/atom,PKRoma/atom,brettle/atom,ardeshirj/atom,Arcanemagus/atom,liuderchi/atom,andrewleverette/atom,PKRoma/atom,Mokolea/atom,atom/atom,ardeshirj/atom,ardeshirj/atom,brettle/atom,stinsonga/atom,atom/atom,stinsonga/atom,liuderchi/atom,PKRoma/atom,liuderchi/atom,Arcanemagus/atom,atom/atom