Update the lines and gutter when the mouseWheelScreenRow changes
Only set the mouseWheelScreenRow when scrolling vertically

When we handle a mousewheel event targeting a line or line number, we
assign the mousewheelScreenRow to prevent the removal of the target
node, which interferes with velocity scrolling.

However, the ::mousewheelScreenRow is only cleared 100ms after we stop
scrolling vertically. This means that if we're only scrolling
horizontally, it's never cleared. This causes the line node associated
with this screen row to hang around longer until the mousewheel screen
row is cleared again, which is not what we want.

This commit only assigns the ::mousewheelScreenRow when scrolling
vertically, so we can be sure it will be cleared.
Only preserve mouseWheelScreenRow if it's out of the rendered row range

Fixes #2429, #2443

Otherwise, it's possible to duplicate lines. If a line is in the
rendered row range and it's not in the set of lines returned by the
editor, we should remove it no matter what. Line preservation is only
intended for lines that are out of view.
Upgrade to apm 0.61
:lipstick: Give mousewheel events their own describe block
Clear the mousewheelScreenRow even if the event does not cause scrolling

If a mousewheel event is triggered when the editor can't be scrolled,
we still want to clear the mouseWheelScreenRow. This is typically done
when we stop scrolling, but if we never start scrolling it will never
happen. This commit adds another timeout to cover that case.
Merge pull request #2463 from atom/ns-react-fix-duplicate-lines

Fix line duplication in React editor
Merge EditorScrollViewComponent into Editor

I don't think that this component was really carrying its weight. Its
render function basically passed through directly to other components
that updated between renders, but didn't contain any content on its
own that actually changed after the first render.

React components seem to carry overhead, so I want every component we
use to count. Also, I'm considering circumventing some of React's
standard update logic for performance reasons, and making the structure
more shallow will help with that.
:lipstick: EditorComponent method order
Upgrade to silarized-dark-syntax@0.15.0
Fix inequality in LinesComponent::shouldComponentUpdate

Change objects from the display-buffer are currently end-row inclusive.
I'd like to fix this, but not until we switch editors.
Merge pull request #2477 from atom/ns-react-remove-scroll-view-component

Merge EditorScrollViewComponent into EditorComponent
Pass element not jQuery object as target

Previously this was passing since ctrl-z was completely unbound at
this point which isn't the case on Windows.
Use temp directory in checkoutHead specs
Use temp directory in isPathNew/Modified specs
Add copyRepository helper
Remove spec completely tested in git-utils library
:lipstick:
Move fixtures into repo
Copy repository in remaining specs