run TestReOpen with both poll = true and false

this catches a bug with log rotation when using polling file watcher.
PollingFileWatcher.ChangeEvents must detect file deletion/rename
implement PollingFileWatcher.BlockUntilExists
remove a redundant goroutine
allow compilation on Go1
add change log
Merge pull request #3 from srid/bug99126_rotation_when_polling

Make tail work with file rotation when using polling file watcher
add (failing) tests for copytruncate detection
Add support for file truncation in InotifyFileWatcher
(cherry picked from commit 9de77aad8caca8102e7dd7c936d00ca3f0421ca7)
fix truncation tests

* use O_TRUNC to actually truncate
* use longer initial data before truncating

truncated and updated file is expected to be of smaller size, else
truncation detection won't work.

ref: https://github.com/josegonzalez/beaver/pull/67/files
fixes on top of Florian's truncation detection (1ff299bc2)

* initialize `Size` with the then-size of the file when ChangeEvents
  is called. remember that this function is expected to be called many
  times, one after another. this also passes the TestReSeekInotify
  test.

* do not ignore errors from os.Stat. we panic errors like these now,
  but ideally should switch to tomb.Tomb for letting the user handle
  them.
add truncation detection to PollingFileWatcher
use a smaller poll duration for faster test runs
BlockUntilExists should return immediately if the file already exists

this fixes a potential race condition in the use of BlockUntilExists
following a file existence check (as we do in tail.go:reopen).

closes issue 5
update change log, gofmt and remove debug prints
Merge pull request #6 from srid/bug99139_copytruncate

copytruncate support,

truncation detection for both inotify and polling file watchers along with test cases, plus a fix for issue #5.
make watch.go its own package

for the purpose for upcoming changes to the watch functionality.
fix tail.Stop blocking when called in midst of re-opening

this is what caused the test to hang occasionally. after this fix,
test completes in 2mins all the time.

closes issue #4
clean up ChangeEvents' goroutines upon tail.Stop
refactor code for upcoming changes to tail.go