Genie:  Axe unused include from IO/Directory.cc
Genie:  Fail with EISDIR on read() from directory

In Unix, a read() on a directory may optionally fail with EISDIR.  Since
we don't support sequential reads of arbitrary size (and therefore would
need to verify the buffer size, as well as account for misalignment), in
the end it's simpler to prohibit it entirely.  We specifically introduce
the failure in the read() system call (outside of the read() primitive),
to catch calls to read() but permit calls to readdir() (via getdents()),
which will also call the read() primitive.
Genie:  Implement read method for directories

It's a programming error to pass a length less than sizeof (dirent) or a
buffer not aligned for dirent.  (In practice, this is unlikely to happen
by accident, but if you specify an odd address, on a 68000 you'll get an
address error.)
Genie:  Route getdents() through read() primitive
Genie:  Axe obsolete GetFileHandleWithCast()
Genie:  Axe DirHandle downcast traits
Merge branch 'dir-read'