Add a built-in IO operator, #external, for executing an external process.

Usage: The #external takes a string of command as an input and returns the
string of stdout. The command string should use "\x01" as a seperator instead
of whitespaces. For example, the following term:
  #external("echo" +String "\x01" +String "ok!")
rewrites to "ok!".
Add a regression test for #external.
Modify the interface of #external

Name changed: #external => #system
Return type changed: #system(Cmd:String) returns
  #systemResult(ExitCode:Int,Stdout:String,Stderr:String)

For example,
  #system("echo" +String "\x01" +String "ok!")
rewrites to
  #systemResult(0,"ok!","")
Merge pull request #967 from daejunpark/external

Add a built-in IO operator, #external, for executing an external process.