Align onWritePossible behaviour with the spec.
This passes the unit tests on Windows.
Still some TODOs to resolve once I have checked this passes the tests on other platforms (including the CI system)

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1487523 13f79535-47bb-0310-9956-ffa450edef68