Reorg tests to better enumerate cases
Use a state/transition based model

Allows us to distinguish between a fiber being run for the first time
(run) vs. resuming (resume) and yielding (yield) vs ending (end). Each
has a different behavior in regards to CLS.