Fix symlinks, clean up inode functions

Symlinks can´t be correctly created by ELKS. If a prebuilt filesystem
with symlinks is mounted under ELKS, it is recognized by command
ls, but programs cannot follow the link.

The attached patch fixes both problems. In addition, also fixes
the function strlen_fromfs(), which always returned zero.

I also took the opportunity to rewrite some functions in
fs/inode.c and fs/minix/inode.c to make them clearer and reduce
code size.

Code size was reduced by 128 bytes and data increased by 32 bytes.
Simplify inode initialization

Initialization of inode structures was done in functions
get_empty_inode() and minix_new_inode(). But some
initializations were repeated at later stages.

The attached patch puts rationality to the initialization
of inode structures, placing initial values at the
earliest possible place and removing repeated initializations.

Also the simplification of several functions in the
fs/minix directory and prepare function get_pipe_inode()
for a future implementation of named pipes.

The new functions are simpler, easier to understand with
smaller code size.

Code size was reduced by 144 bytes.