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.