First commit.

This version contains the basic function of shell pipeline.
Fix bug in Process when using Popen.
Add debugging output to Process.
Fix a bug in Head's implementation.
Change the impl to end the whole pipeline if one of the pipe line is
end.