Fix indentation of match clauses.

The value of match-clause-indent is only used with smie. Make the
old-style indentation engine use it as well.
Use tuareg-match-clause-indent when indenting arguments.

In the case of a match clause that is a function call, when the
function appears on the same line as the clause, and when the arguments
appear on separate lines, the indentation looks like

    match () with
    | _ -> some_function
       argument1
      argument2

with tuareg-match-clause-indent equal to 1. This commit fixes the
problem by taking tuareg-match-clause-indent into account when indenting
arguments.
Fix inconsistent indentation of type definitions.

  1. `[`, `|`, `{` and type aliases all get an indentation of
     `tuareg-type-indent` relative to `type`.

  2. Even when the first constructor in a sum type is not preceded by a
     `|`, it is still aligned with the other constructors.