Storing actual line indent in the stack

not to confuse with 'expression indent' which may be more in some cases
Strict indent after `(fun _ ->\n`

This gives some weird results on js-fun.ml ; they might be worked around
by indenting relative to the first expression from the beginning of the line
instead of the whole line, but not sure if we want to.
Updated tests for which the changed results are acceptable
No extra indent after '(\n' either
No extra indent after '(struct\n' either
No extra indent after '(function\n' either
Improved fixed-indent to still consider parens at the beginning of lines
Fixed a case of weird alignment when an opening bracket ends a line
Fixed too small alignments after match arrows
Added a config parameter for max_indent (WIP)
Fixed computation of line_indent
Implemented the max_indent parameter
indenting under paren after 'xxx ( yy'
Fixed wrong alignment after matches