remove existing watcher

The watcher seems to bind to the file descriptor even though it's
storing it internally by name.  Just to be safe we'll remove the watcher
before re-opening the file and re-adding the watcher.  We have to re-add
the watcher or new rename/delete events are not triggered.
encapsulate as a watchedFile
sleep so mv "always" runs after log2file has written output
maybe this is more idiomatic go?
cleanup on error?

Should I be checking for errors when cleaning up?  Which error would I
return?
try to close handle and watcher

Try to close handle and watcher before returning any error.  What error
should I return if both errored?