Detect optional `do` in cond in `while`, `until` or `for`...`in`

while until 1 do
        :until_body
      end do # <- Previously, ERM can't know this `do` is optional.
  :while_body
end

But ERM can't indent correctly while (or until, for in) in
cond of while (or until, for in), probably because of
@statment_start.

It seems overengineering to support code like above, which is
rarely written.