second pass

Originally I just noticed that the watcher did not work for multiple log rotations so I wanted to fix that.  Then I realized that the watcher might also leak memory if I didn't explicitly remove the file from being watched.  Then I decided I should encapsulate the file, handle, and watcher.  Then I tried to find other possible bugs.
I think you might be right about the signature but I'm not sure which to do yet.  For now I am going to merge because I would like to get this deployed before I leave.  PRO