BSD - Fix for Issue #24 - Deleting watched directory

This fixes the issue where the delete of a watched directory sends and
error instead of a delete for the directory and the underlying watched
files.

The reproduce case for reference: https://gist.github.com/3972447

Also included is a test case addition for the above issue.
Fix up delete watched directory test
Linux - Add IN_MOVED_TO by request, Issue #25
File rename tests, rename file into watched folder

Two types:
Rename a file into folder where no file exists with that name.
Rename a file into a folder over a file with that name.
BSD - support for recursivable watching of subfolders
BSD - remove merging of flags. remove deleted check in sendDirectoryChangeEvents

Remove the unnecessary merging of flags when watching an existing
file/dir since the flags passed is already merged

Remove deleted path check in sendDirectoryChangeEvents. Instead we check
for directory existence before passing to sendDirectoryChangeEvents
Add license
fixed windows path separator
Merge pull request #28 from Pursuit92/master

Fix Windows Filepath Separators
tests: fix error reporting from Mkdir calls

Whenever the creation of a directory fails, it was trying to report an
error from an outer scope.
test: fix if expression
fsnotify_bsd: fix for some data races

All data races detected in tests, that happens in fsnotify_bsd file are
now fixed. I still need to fix data races in tests.

Related to #29.
tests: fix data races

go test -race does not report any data races in darwin anymore. I still
need to check Linux.

Related to #29.
Merge pull request #30 from fsouza/mkdir-error-report

tests: fix error reporting from Mkdir calls
Merge branch 'issue-29' of https://github.com/fsouza/fsnotify into race
Fixed unlock for watching directory
Fix travis-ci
Mutex used on all OSs
mutex
Fix tests for Windows : '\\' and '/' path seperators