Non blocking block

I like the block syntax of Listen.to and would like it even more if it had an option not to block the current thread, so here's an implementation of it. 

```ruby
Listen.to('dir/path/to/listen', :blocking => false) do |modified, added, removed|
  # ...
end

# Code here will run immediately after starting the listener
```

Also, the readability of the current `listener.start(false)` could be improved with something like `start(:blocking => false)` or separate `start`/`start!` methods (as [net-sftp](http://rubydoc.info/gems/net-sftp/Net/SFTP/Session#mkdir%21-instance_method) does for non-blocking/blocking methods), but I'm not sure how common/intuitive that is in Ruby.