Revisit block-close unindentation logic (issue #26)

- completely rewritten left-shifter expression regexp
- reduced extra parsing work in cases when block-start token is already
  at (current-indentation).