Fix unindent behavior

In case you already unindented (previous spaces > current spaces),
it tried to unindent with a negative diff.

For example:

    if a:
        if b:
            pass
    else:

The else was unindented and replaced by itself[-4], resulting in

    if a:
        if b:
            pass
    lse:

Unindent is only relevant in one way, when len(previous_spaces) < len(current_spaces)