Make RubyFile use FileResource
Fix RubyDir to use file resources
Make RegularFileResource return 'true' if it's a broken symlink
Reworked ChannelDescriptor to use resources.

Added visitor pattern to FileResource so that ChannelDescriptor can contain logic of how to open different resources.