Trim empty lines

Leading and trailing blank lines are removed; interior blank lines are collapsed to single breaks when enabled.