Reimplemented much of the kqueue-based file watcher so that watching subdirectories works.

https://bugzilla.xamarin.com/show_bug.cgi?id=16259
Revert some whitespace changes.
Add a test for Creation event on FileSystemWatcher.
Fix error in tooltip display for ListView.ShowGroups

This fixes Xamarin bug 21346 " SWF.ListView does not handle item
tooltips when Groups are used".