Fix tail for windows os

We had to add the FILE_SHARE_DELETE flag when opening a file in go.
This is a workaround for this issue: https://codereview.appspot.com/8203043/
Linux and windows code has to be split into 2 separate files.


you can isolate the `|| os.IsPermission(err)` change to only Windows by using a similar `+build windows` trick, so that non-Windows platforms are not affected. also put a XXX comment stating basically what you wrote above.