Fix breaking in foreach
Summary:
Like CatchClause in
D5267011, ForeachStatement's transform produced `Split`s without a containing `WithRule` block, causing the breaking of foreach statements to be erroneously dependent on some irrelevant containing rule.
This diff adds a `delimited_nest` (which provides a containing `WithRule` block) and some additional independent Splits (to get better behavior in the presence of line overflow).
Depends on
D5278861
Reviewed By: arxanas
Differential Revision:
D5279474
fbshipit-source-id:
387f4faec54564a1e4ab09b585cf0a576f44c78c