move guardfile reevaluation to runner (refactor)
mark interrupted task as failed (fixes #582)

Previously, an Interrupt resulted in a plugin being fired.
Respond to signals using threads (fixes #571)

  * Thread necessary because Lumberjack uses lock

  * Also, Listen has bug where pause calls Record.build
  (instead of Record.async.build)

  * join should not be used due to potential deadlocking

  * run within preserved state to avoid overwriting Pry
Prevent Pry restarting when unwatched files change

  * closes #536 even thought it only mitigates the problem (the
  "correct" fix is synchronous guard: #595, where Pry.start
  doesn't have to be reentrant any more)

  * also saves the user from adding various ignore rules to
  make polling work better, etc.

  * this also prepares Guard for better integration with
  upcoming Listen 3.x API
Fix return type that changed at 6cec71c76d25094f696156ddfb3afe80377ff3f3
Merge pull request #596 from Sheile/fix-return-type-for-rubydoc

Fix return type that changed at 6cec71c76d25094f696156ddfb3afe80377ff3f3
Release 2.6.1