Fix 'h' and 'l' with folding and soft wraps.

This is a fix for left and right movement when in soft wraps or when code folding is present.

There are several issues I can hunt down related if we get closer to launching this.  I don't have any new tests for this, although all existing ones pass.  I wanted to start the discussion of how to create tests for this.  In my package jumpy for folding tests I open a file that has a .md extension and trigger a fold.  I didn't particularly test soft wraps, although I sort of got that for free.

I wasn't able to locate a similar file / similar approach.  Am I missing it or is everyone opposed to that idea?  It's more integration test as opposed to unit of course.

Also, as I was going to create this, I just noticed @Zren posted this https://github.com/atom/vim-mode/pull/354

There might be a chance mine fixes this, I haven't tested it yet.  Similar approaches of trying for a clip.

I handled some edge cases and made left work better as well for soft wraps.