Handle only regular files

Ignore symlinks character/block devices etc. and handle only regular
files.
Add -Wextra to CFLAGS
Add optional symlink handling

If -s (--handle-symlinks) is supplied symlink targets are treated like
if they are the files they link to.
Add file_init()

Add initializer for struct file. Also determine input file type
while creating the struct.