Fix #315 and #86

The new behavior for when to display foralls in multi-line type signatures is to display them only if the user has added an explicit kind signature - since by that ruling, they add “extra information”.

Foralls in other contexts (single-line type signatures, rank-n types, record fields) are left unchanged.

If a multi-line type signature has a ‘forall’ but no constraint, the first parameter is now displayed where the constraint would have been previously. I'm not sure if this is aesthetically the best solution.