Enable chain testing within a tree of chains

added checks and fail-safe for validating a chain that has part already validated, in the case of tree of chains.
the current chain testing would fail to do:
A->B->C1 = chain1
        ->C2 = chain2

when chain1 (ABC1) is being tested, and one wants also (ABC2) to get tested. the proposed changes are meant to remove the interference on A and B from the two tests.

 The ultimate implementation could probably be to have the "tree testing", as for submission of tree of requests in TaskChain.