Fix the highlight tag feature

Previously, the assertion made wasn't enough to check whether the code
block was correctly parsed through Pygments (and it was not the case).
This commit simply ensure there is a div with the "highlight" class and
fix the test to correctly invoke the Liquid tag rendering.
Rename the pygments option to highlighter

Rename the pygments configuration option to highlighter to allow
different highlighters in the future. For now, the allowed values are
`pygments` and `null`.

It's now more straightforward to plug another syntax highlighter.
Add support for the Rouge syntax highlighter

By setting the `highlighter` setting to `rouge` you can now easily
highlight your code with it instead of relying on Pygments. However,
Jekyll doesn't depend on Rouge explicitly, you will need to install it
or add it to your Gemfile.

The documentation has been updated accordingly.
Set highlighter to pygments when upgrading

In case you are upgrading from 1.4.2 to 2.0 and the pygments option is
set to true, then the highlighter option will be set to pygments
automatically.
Rely on the Redcarpet plugin instead of hard-coding

To avoid code duplication and have to keep tracking of the API change of
Rouge, let's rely on the Redcarpet plugin and customize the output on
our needs.
Set the wrap option to false when using Rouge

Since Rouge yields the pre tag with a class attribute but we don't want
it, we should set the wrap parameter to false when instantiating a new
formatter object.

Also use Rouge::Formatter#format instead of #render which is deprecated
and will be removed in the near future.
Fix various typos and improve the doc
Remove a useless given step

Since the highlighter configuration option should default to pygments,
we don't have to explicitly set it in the step testing the output with
pygments.
Require at least 1.3.0 for Rouge

Rouge 1.3.0 introduced a `rouge_formatter` helper which is handy to
overwrite the formatter default when using the Redcarpet plugin so let's
require this version at the very least.

An abort statement will be thrown when the installed version is not
correct.
Merge pull request #1859 from robin850/rouge