* Remove unneeded begin/end when the loop is a do/while
* Dangling else check passes through statement attributes (bug fix)
* Dangling else check passes through most control flow structures to reduce unneeded begin/end
* Add test case and update changelog
---------
Co-authored-by: qcorradi <q.corradi22@imperial.ac.uk>
Co-authored-by: Zachary Snow <zach@zachjs.com>