Copy over the rule item action statuses when the rule process completes.
Update cleanup thread:
- deallocate rule data in no longer used space.
- make sure cache thread is being started.
Implement asynchronous example rules for testing.
Disable asynchronous execution when running in validation mode.
This ensures consistency and cleanliness when outputting the validation data.
There is no reason to run asynchronously in this mode because nothing is supposed to be run anyway.
Make sure that execution (simulated or not) is not performed in validation mode.
Make sure the program immediately executes at the end when in validation mode.