Add callback support for command execution

This pull request adds callback closure to command execution methods such as `executeBackground`.
A command output result can be received on not only `execute` but `executeBackground` using callback closure.
```groovy
executeBackground('ping -c 3 server') { result ->
  def average = result.find('min/avg/.+=.+?/.+?/').split('/')[-1]
  println average
}
```

**Note:** This pull request changes API specification of stream interaction support. The closure argument of `execute` was used for stream interaction support, but now it is used for result callback.