organize code in Asciidoctor module; optimize block match

- put all code inside an Asciidoctor module block
- move debug operations into Debug submodule
- optimize block matching by using a single regexp
- add support for fenced code blocks
merge upstream changes
Merge pull request #181 from mojavelinux/asciidoctor-ns-optimize-blocks

Organize code in Asciidoctor module; optimize block matching