RFC: Single-entry / multiple-exit regions for borrows

[Rendered](https://github.com/zwarich/rfcs/blob/seme-regions/active/0000-seme-regions.md)
Surely this is only valid if the `break` is executed unconditionally? If the `if` condition evaluates to `false`, it will loop again, and print `p` again, even though the memory that `p` references has been modified by the `a = None` line.