ignore .idea (RubyMine project dir)
Alter "wait for changes" algorithm to wait for incoming changes to accumulate before calling block. Fixes #202

The new algorithm is (pseudocode):

      loop
        begin
          sleep options[:wait_for_delay] # wait for changes to accumulate
          new_changes = _pop_changes
          changes += new_changes
        end until new_changes.empty?
        unless changes.empty?
          block.call(changes)
        end
      end

Note that the "sleep" happens both before and after any callback, so the
value of wait_for_delay is effectively doubled. This also means that if
the filesystem is constantly changing, the callback will never happen...
maybe we should check for this and bail out after, say, 10 seconds even
if new changes keep on coming.