add AssertPath for easier path constraints checking

- helps to test multiple entry points in the API and to check path and filesytem
invariants (what happens when a file/directory does not exists, ...)
start using AssertPath in related tests
fix isSameFile, checkAccess and isHidden
use Files.xxx static methods instead of fs impl

using the same entry point as end-user is better for testing
and the createEntry method may not be used outside impl (and may
be made private)
test for empty files and with known data
replace direct fs calls to Files.xxx equivalent

Using the "end-user" API helps to avoid testing too much actual implementation
most of those tests may be moved to "user test" class and could probably be made
portable enough to work on default FS impl in order to make sure that we have the
same behavior between memory and defautl fs impl
do not silently create missing parent folders
add .contains(Path) to test for dir content
enhance tests without too much rely on impl
fix write-append test
"missing file/folder" ex must be a subclass of IOE
remove direct fs impl access
memoryfs safe cast with null
make createEntry method private
switch to java.nio exceptions
fix fsprovider test : parent folders not created

previously parent folder were automagically created
now we rely on Files.createDirectories(...) to create parent folders