TestActionItem
TestActionItem wraps a single execution of an ITestAction.
            Its primary purpose is to track whether the BeforeTest
            method has been called and suppress calling the
            AfterTest method if it has not. This is necessary when
            ITestActions are used before and after a CompositeWorkItem,
            since the OneTimeSetUpCommand and OneTimeTearDownCommand
            are separate command chains. By sharing a TestActionItem
            between the setup and teardown chains, the two calls can
            be coordinated.
            
                
Get flag indicating if the BeforeTest entry was already called.
            
Construct a TestActionItem
            
Run the AfterTest action, but only if the BeforeTest
            action was actually run.
            
Run the BeforeTest method of the action and remember that it has been run.