Include full dirent information for getdents.

Also fixes the kernel structure definition and d_reclen.

From #593:

    Parrot currently discards information returned in the dirent structure by readdir, for the local service. Right now, it only cares about dirent.d_name.

    This causes a problem for glibc's implementation of
    sysconf(_SC_NPROCESSORS_CONF) in __get_nprocs_conf. __get_nprocs_conf relies on
    the sysfs file system returning the file type in dirent.d_type, specifically
    looking for CPU directories like cpu0. Because all entries returned by Parrot
    look like regular files, glibc thinks there are 0 cpus and returns 0.

    This causes OpenCL to fail to run because it depends on this value for scheduling. This has caused problems for Dan Bradley, reported in [1].

    The fix for this will be to save all of the dirent information we can and pass that on to applications.

    [1] https://listserv.nd.edu/cgi-bin/wa?A2=ind1410&L=CCTOOLS&F=&S=&P=5902

Fixes #593.