Fixed fenced code blocks

Fixed problems with code blocks:
* `fenced` regex was too greedy. If source contained several code blocks they were processed as one big code block.
* handle arbitrary number of backticks at beginning (and same number at end).
* allow spaces between the start backticks and the language name
* do not convert newlines to `<p>` and `<br>` inside code block