(SERVER-61) improvements to the ExecutionStub

* The execution stub now returns an instance of
  Puppet::Util::Execution::ProcessOutput, as per the contract of
  Puppet::Util::Execution.execute.

* Add basic spec/unit tests

* In java, close the reader used to read the process's STDOUT.

* In ruby, close the file handles passed-in for STDIN, STDOUT, and
  STDERR; we're not using these (this is implemented in java instead),
  but Puppet::Util::Execution.execute does not close them when an
  execution stub is installed.
(SERVER-61) more execution stub improvments

* Create 'ExecutionStubResult' class.
* Add a comment with link to a JIRA ticket.
(SERVER-61) ExecutionStub: consume STDERR/STDOUT

Add a ProcessWrapper class for use by the ExecutionStub, which ensures
that the child process used to execute the command safely gets its STDOUT and
STDERR consumed by the parent process.  If this is not done, deadlock
can occur, if the child process is blocked on writing to either STDOUT
or STDERR, and the parent process is waiting on the child process to
terminate.
Merge pull request #224 from KevinCorcoran/SERVER-61/ugh

(SERVER-61) improvements to the ExecutionStub