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.
this gsub might be good to move out to a method, in case it changes we don't have to worry about fixing it in both methods.