add IO::Spec, add IO::Path methods cleanup and resolve