Split Destroy/Terminate actors. Add problem checking.

I suggest squashing the commits since I know that they are slightly disorganized, and the commit messages don't always describe what's been done. Main changes are obviously:

* Separate responsibilities into Terminate and Destroy actors.
* Create `find_problems` actor method to detect issues before execution.
Maybe it's not needed -- I wanted some sort of sanity check / heads up to the user that "something is fishy." Then leave it up to the user to investigate.