RegionManager calls 'before:destroy' event for each Region

It's one line, but I wanted to make sure the tests actually test the behavior.  To make the tests easier to validate, I patched in `triggerMethod` on `Region`.  I tried not to go crazy rewriting the tests, but some of them weren't actually testing the code, so I fixed those.

These tests actually test the behavior indicated, including the order in which the `before:destroy` is triggered.  These could be dramatically simplified if we reused more of the `closeRegion*` and `removeRegion*` code we already have in `RegionManager`.