Makes github/markup compatible with JRuby (#351).

* Requires posix-spawn conditionally (depending on the Ruby platform)
* Lets CommandImplementation fall back gracefully on a version of execute(command, target) that uses Open.popen3 instead of POSIX::Spawn::Child
* Tells Bundler not to require redcarpet if the platform is :jruby, but kramdown instead.

All the tests pass on the rubies in Travis. Tests with JRuby, however, produce a few failures, benign ones having to do with the slightly different way that kramdown outputs html: 
```html
-<p>… broken up …</p>
+<p>... broken up ...</p>
```
and
```html
-<pre><code>test "basic literate CoffeeScript parsing", -&gt;
+<pre><code>test &quot;basic literate CoffeeScript parsing&quot;, -&gt;
```
and
```html
 <ul>
-  <li>One</li>
-  <li>Two</li>
-</ul>
\ No newline at end of file
+<li>One</li>
+<li>Two</li>
+</ul>
```

There is one error in `test_raises_error_if_command_exits_non_zero` that has to do with https://github.com/jruby/jruby/issues/1947. However, since nothing in `github-markup` seems to depend on calling a command containing `&&`, this seems non-critical.

If you're planning to add JRuby to the Travis tests, something would have to be done about the rendering differences (or the way expectations are compared to actual output), but functionally, the changes in this PR make the gem compatible with JRuby.
I just noticed that this causes every other ruby version to build twice, once for each JDK. Anyone know if there's a way to run these for the jruby build?

https://travis-ci.org/github/markup/builds/35049174