merge broadcaster mode with Listener + refactor

- TCP broadcasting is now immediately (without accumulating)

- TCP now broadcasts/receives single events

- removed TCP::Listener class (TCP will be a separate gem soon)

- removed "Unknown"(tcp) file type (always either 'Dir' or 'File')

- use symbols :dir, :file, instead of 'Dir' and 'File'

- explicity set :dir or :file with every change

- added queue method to Listner and use Queue for messages

- added _process_changes to simplify future tests

- removed tests that only prevented refactoring
fix+rework OSX specs and implementation
avoid modifying hash during traversal
get specs working on Linux+VFAT
fix broken OSX specs + Linux fsevent emulation
fix specs for fsevent emulation (VFAT+Linux)
fix long line
fix long line + other minor changes
fix failing OSX spec
rework adapters and their specs
only show terminated errors in debug mode
retry 3 times when TCP adapter fails to connect
better TCP debugging
queue changes even when in pause/stop state
properly stop wait_for_changes thread
start adapter synchronously (random test failures)
allows changes to accumulate during pause
fix/update specs
rework acceptance tests and acceptance test helper
make ci_hound happy