Standardize back on trailing-/ for directory paths. This is safer for legacy
code that concats paths with this assumption. The normalization hook in
FileSystem also removes duplicated /es. In the future it could also handle
"/." and "/..", but it doesn't yet.

Fixes the infinite-traversal bug in JS code hints & re-enables the unit
tests that were hitting it. But adds some hacky temp code to forestall race
conditions when running these tests (presumably a race on master too).

Many of the diffs are just restoring code back to what it is on master.
Cleaner fix for race condition bugs in JS code hints unit tests.
First pass at adding rename functionality. Still some loose ends to clean up.
Merge branch 'glenn/file-system' of https://github.com/adobe/brackets into glenn/file-system
Merge branch 'glenn/file-system' into iwehrman/watch-unwatch
Move InMemoryFile out of filesystem. It is now a Brackets-specific detail
used as a placeholder by DocumentManager (though still a File subclass).
Like the setup on master, the filesystem APIs will all act like they don't
know anything about this 'file'.

Also: log warnings when FileSystem receives path with "." or ".." segments.
Fixups for ending '/' in directory paths.
Merge branch 'glenn/file-system' of https://github.com/adobe/brackets into glenn/file-system
Fix JSLint error.
Use non-persistent file watchers.
First complete pass of watch/unwatch/_watcherCallback
Merge remote-tracking branch 'github/glenn/file-system' into iwehrman/watch-unwatch

Conflicts:
	src/filesystem/FileSystem.js
Initial conversion to watch/unwatch; filesystem bugfixes