Don't touch whitespace on the current line.

It's fairly common to start a method definition and then save
just before starting in on that method. The result is that the
method indentation is removed. This happens in a number of
situations. With this change, whitespace on the current line
is ignored if there's ONLY whitespace on that line.
Add some tests!
No need for the no-op line.
Ignore whitespace regardless on current line.
Fix off-by-one error.
Shortcircuit instead so it's applied to markdown too.
Looks like it was an Atom bug and not an off-by-one error.
s/ignoreCurLine/ignoreCurrentLine/
Switch to using backwardsScan.

This fixes a bug where the cursor index would change out from under
you as the replacements in the scan were happening. This was causing
the cursor row to be mis-identified, which was resulting in inconsistent
row identification (which looked sort of like an off-by-one error).
By scanning from the end of the buffer, we prevent the index from getting
mangled like that and end up with the correct cursor row.
Give specs better names. Remove unnecessary specs.
Actually use the correct cursor position in the specs.
Add support for multiple cursors.
Update specs for multiple cursor support.
Use setCursorBufferPosition() first to collapse cursors.
Get the buffer position correct for second cursor.
The config value is automatically restored on each spec run.
Cleanup ensureSingleTrailingNewline specs.
Fix GFM tests.
Cleanup and a broken spec.
Merge pull request #12 from atom/ignore-current-line

Add option to ignore current line when trimming whitespace