Use beforeunload instead of unload

unload is asynchronous in Chrome 36 and so saving the state while
reloading may not happen before the state is read on the new render
process.
Only unload editor window when confirmed
Remove views and destroy project during unload
Remove hiding of body during reload

This appears to no longer be needed on Chrome 36
:lipstick:
Merge pull request #3223 from atom/ks-use-beforeunload

Save state during beforeunload event
Upgrade to incompatible-packages@0.6
Go back to using grunt-coffeelint fork for CI fixes
Bump grunt-coffeelint for JSON fix
Upgrade to settings-view@0.139
Upgrade to git-utils@2.1.4
Upgrade to exception-reporting@0.20
Upgrade to atom-package-manager@0.89
Upgrade to bracket-matcher@0.53
Upgrade to atom-keymap 2.0
Remove num- keybindings
Remove opaque backgrounds on mini editors

Fixes #3239
Merge pull request #3240 from atom/ks-drop-num-pad-support

Remove number pad support
Only focus when the component is mounted
Add `will-insert-text` and `did-insert-text` to `insertText()`