LiveDevMultiBrowser should properly search parent directories for an index.html.
Fix bug #10200 (Live Preview throws errors on pages with dynamic LESS) - Make
sure every "live document" type implements the same interface, including the
EventDispatcher APIs.
Merge commit 'bb4f4d0fdaae509cafd467364947717f0c70cb4d' into pflynn/fix-LiveDevMultiBrowser-loop

* commit 'bb4f4d0fdaae509cafd467364947717f0c70cb4d':
  LiveDevMultiBrowser should properly search parent directories for an index.html.
Clean up #10193 fix by sharing code with existing implementation in LiveDevelopment.js,
moving shared code to FileUtils with unit tests. Also...
- fixes an unhit edge case in getParentFolder() (now getParentDirectory())
that behaves differently across platforms
- removes duplicate copy of getFilenameWithoutExtension() in LiveDevelopment.js
(copy in FileUtils was identical)
- add/fix some unit tests for two existing FileUtils APIs
Merge pull request #10207 from adobe/pflynn/fix-LiveDevMultiBrowser-loop

Cleaner fix for LiveDevMultiBrowser infinite loop
Merge pull request #10201 from adobe/pflynn/liveagent-event-fix

Fix bug #10200 (Live Preview throws errors on pages with dynamic LESS)