Preserve Github Flavor Markdown code block language information

Take two - https://github.com/xijo/reverse_markdown/pull/40

The previous pull request wasn't technically incorrect i.e. Github did/does recognise the highlighting when a space is included before the language identifier. However, looking at the official documentation it would seem that the preferred form is not to include a space (https://help.github.com/articles/github-flavored-markdown/).

NOTE: Compared to my previous pull request I've also swapped to stream style string concatenation, for consistency with the existing code.
@Benjamin-Dobell absolutely sure, you can amend. (I do this dozens of times a week!) A closed PR doesn't get updated, which is why the old code is still shown there. Open PRs do get updated, since they're tied to branches. The old commits just drop off. If this line of code changes, the comment I made becomes outdated on the PR conversation pages.

For quotes, personally I think using single quotes whenever there's no interpolation leads to inconsistency and single-to-double quote changes whenever you add interpolation. There's no real performance benefit to using single quotes over double with no interpolation, either. Not my project though!