SignalThread always creates new thread on signal handler
updated spec to implement concurrency control by itself because PStore didn't work with ruby 2.0
updated spec to add some more sleep to work with new SignalThread
ruby 2.0 interrupts BlockingFlag#wait