directory removal using "file XXXX, ensure => 'absent' not working

1) open test in SSH2 was returning true even if the target is a
directory. the "is_file" & "is_dir" were pused to the base class and
both are using "stat" to get the perms flags (SSH & OpenSSH "stat" were
updated to return these in the stat's hash) and Fcntl call (hopefully
wont break windows stuff...)

2) in file (File.pm) after the ensure absent section is completed, a
file is created, this is no needed. a "dirty" goto was added.