In trying to tackle the action deletion problem there were two areas that needed clean up: scheduleForDeletion() in the AMAction3 inheritance tree and action logging to databases.
Modified:
- AMAction3::scheduleForDeletion() now has an implementation function. There is a default in AMAction3 and the only subclass that needs something different right now is AMScanAction.
- AMAction3 now has some boolean flag info for the scheduleForDeletion() calls so checking can be done. The scheduleForDeletion() call also makes sure it doesn't get run twice. Now AMListAction will only call scheduleForDeletion on its item in the destructor for items that need it.

Added:
- AMAction3 now has a loggingIsFinished flag and related signals. This is used to make sure that logging is completed before actually deleting (or deleteLater-ing) in scheduleForDeletion
- AMListAction3 and AMActionRunner3 are now responsible for setting this flag when they start an action (if it's going to be logged) and flagging completion when it's either completed or upddated (in the case of lists and loops).

I've done testing to make sure this still works. The action state machine seems to work fine. Scans work fine. Memory leak testing shows no leaks. Should be ready to go.
Removed:
- Commented out code.  General clean up for the issue.
Merge pull request #961 from acquaman/Issue576

Pull Request for Issue576: AMLoopAction3/AMListAction3 Destructor