little bug fix of parser.cpp and socket.cpp

1. filename_end should find first whitespace after filename start.
2. next_io_idx should find first FILE_REDIR_CHARS after io_idx.
3. socklen_t replace size_t because type conflicting in FreeBSD.
add pipe_manager and update makefile
io_wrapper add write_all()
uncomplete version of project