It's performer… not puddle!
Make wait_until more generic in specs
Upgrade to rspec 3.0 proper
Make Performer::Queue safe to enq from GC thread

GC thread (at least on MRI) is same thread as object was allocated in,
so during GC it is possible that running thread is inside the mutex,
while GC work is trying to enq, causing recursive locking
Keep track of the currently executing task in performer, because it's nice