Add support for invoking processes in JRuby

Previously, we used the `Wopen3` library to simplify the act of
executing an external process and collecting its standard out/error
output and exit status.

Unfortunately, Wopen is implemented using `fork`, which isn't supported
by JRuby. After much research it's clear that this is not a trivial task
to support across multiple platforms, but fortunately there is a gem
called `childprocess` which takes care of this for us.

Unfortunately, to use the gem we have to change the signature of
`command` to take an array of arguments rather than a single shell
string, due to the underlying commands `childprocess` utilizes.

Another thing worth mentioning is that while it's perhaps not ideal to
be using temporary files to capture output when spawning external
processes, I was unable to get this to work consistently when using
straight-up pipes. For now, this implementation works consistently and
is acceptable.

Fixes #32

Change-Id: Ic4aa71ca61d50f38a8e4ea15b8e8dbcf146c1f69
Reviewed-on: http://gerrit.causes.com/35997
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane@causes.com>