Don't mutate the array while enumerating it

Make a copy of sessions/unpostedBuffers array before enumerating it. It is possible, though uncommon, that the operation on the session/buffer will complete before enumeration is complete, and within each completion block there is a path that removes the session/buffer from the array.

The specs weren't catching this because of how KWCaptureSpy is used: the block is captured during invocation of the method under test, but isn't executed until after the enumeration is complete and the method returns. I switched to using stub:withBlock:, which allows the block to execute during enumeration and revealed the bug.
Add missing spec example.