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.