Org reader: refactor #+BEGIN..#+END block parsing code
Org reader: Support arguments for code blocks

The general form of source block headers
(`#+BEGIN_SRC <language> <switches> <header arguments>`) was not
recognized by the reader.  This patch adds support for the above form,
adds header arguments to the block's key-value pairs and marks the block
as a rundoc block if header arguments are present.

This closes #1286.
Org reader: Fix parsing of blank lines within blocks

Blank lines were parsed as two newlines instead of just one.
Thanks to Xiao Hanyu (@xiaohanyu) for pointing this out.
Merge pull request #1289 from tarleb/code-block-headers

Org reader: Support code block headers, fix reading of block content