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.
Instead of munging the names, what do you think about:

```ruby
if RUBY_PLATFORM == 'java'
  def execute(command, target)
    # popen3 impelementation
  end
else
  def execute(command, target)
    # posix-spawn implementation
  end
end