Fix for Fenced Code Blocks without a blank line before

A solution for #45. 

I added the fix to the `firstPass()` because it turned out that later on, within the block-level-parsing it is too late to safely identify whether there is a real fenced code-block right below a paragraph or it is just a coincidence that there was something that looks like a fenced-code block marker.

Note, because the fix involves checking for valid fenced code-blocks within the first pass, the impact on performance is tremendous. e.g. `go test`, with all its the stress tests, takes whopping 156s on my MBP.