Prevent focusout events on hidden input when clicking focused editors

Fixes #3384

This is achieved by calling .preventDefault() on mousedown events when
the editor is already focused, which prevents the moving of focus to
the editor itself.
Normalize project path in Project::setPath

This will remove consecutive slashes as well as . and ..
characters and make path comparisons accurate.

Closes atom/tree-view#191
Upgrade to tree-view@0.114
Don't load ~/.atom/init.coffee in safe mode

This ensures the code from the init script isn't causing issues
when trying to reproduce something in safe mode.

Refs #2772
selectLine -> selectLinesContainingCursors
selectWord() -> selectWordsContainingCursors()
Add selectToBufferPosition
Upgrade to language-less@0.15
Upgrade to language-sass@0.21
Order the getting ranges / positions by their insertion order
Add row count docs
Reorder return values of getSelectedBufferRanges

The implementation does not depend on a specific order, just the test
Remove unnecessary deprecated methods
Remove deprecation
Upgrade fnr to fix specs
Merge pull request #3420 from atom/bo-update-cursor-selection-apis

Update cursor and selection APIs
Move select all fn so docs read better
Upgrade deprecation cop to remove the status bar icon.
Fix some doc strings
Don’t merge adjacent non-empty selections

This improves the behavior of #3433