Use java.nio to open files with file_share_delete permissions

* Will only use the java extension if running on windows and inside of JRuby.
* This PR is also a rollup of #19, which has all of the details around better file identifiers to use with the since.db records and how to prevent always starting over. 

* I'm not sure this is the best approach for the stand alone file watch piece, but I've been patching logstash with these changes since mid summer and they work great on windows for us and for those I've helped apply the same patches.  I'd be happy to change whatever is asked to get this applied to the main branch.