Rewrite indentation engine

The main reason for this change is to change indentation from

  foobar('arg1', function ()
           print('foobar')
                 end)

to

  foobar('arg1', function ()
      print('foobar')
  end)

This problem is due to alignment. I decided to remove this feature because of the following rationale:
* There is nothing close to a convention on alignment. PIL is not using it.
* Rules on alignment can quickly become ambiguous.
* It can result in ugly indentation. (See above example).
* It is more complex and slower.
* When indenting with tabs, one needs to use Emacs' smart-tabs plugin (to follow the "indent with tabs, align with spaces" rule). Not many editors can do that.

This rewrite partly addresses issue #31 and some issues in indentation-test.el.