Fix failing commented out tests

Related commits
---------------
- #6e60ef0

Reason
------
The indent functions, in this case
      GetPythonPEPIndent()
can modify the cursor position. There is nothing wrong with that
consequence, vim takes it into account and restores the cursor
position (see References below). For the tests vim is not doing
the calling, so the cursor is not restored.

Solution
--------
Restore the cursor position after calling the indent function.
Merge pull request #16 from has2k1/commented-out-tests

Fix failing commented out tests
Expand Hassan's name
Fix issue #5 (Correct indent after end of block)

Problem
-------
Given two adjacent blocks where the 2nd block has
an equal or smaller indentation level compared to the 1st
block. If the blocks are not separated by an empty line,
the 2nd block will be placed (indented) inside the 1st
block.

This changes the meaning of code that already adheres to the
pep8 standard.

Solution
--------
Do not inherit indentation of the previous line if the current line
has less indentation but is valid.
Indent correctly after lines with '#'s in strings

Fixes #5.
run test cases for different settings
Merge pull request #19 from kljohann/tests

Run test cases for different sets of settings

While we care only about 4 spaces, running it with both may uncover subtle bugs.
Un-indent for "else" after "for" and "try/except"

Fixes #21
Unindent 'finally' after 'else' too
clean up implementation
correctly indent after parens in control structures

fixes #7
fix regression for multiple parens of different types
unindent 'else' after 'for' and 'try/except'
prevent tests being shadowed by first line rule
prevent ':' from indenting inside unfinished string
Merge pull request #20 from kljohann/clean_up

Clean up implementation