Markdown: recognize special multi-column layout blocks

Documentation writers may want to organize clusters of information
and/or links into a multi-column based layout to help readers find
material quickly.

Extend the supported markdown syntax with a new multi-column region.
A multi-column region is delineated by |||---||| with other markdown
contained within it:

  |||---|||
  ## Markdown is easy
  You can write simple text.

  * [Basic markdown](http://...)
  * [GitHub flavor](http://github.com/...)
  * [This kind](kind.md)

  ## Safe
  No HTML found.

  ## Fast
  Well, faster than you can get coffee.
  |||---|||

Headers within the region define the columns.  For each header a new
column is started and the following content is placed below it into
the same column.

The above will render as three divs next to each other:

  Markdown is easy            Safe                 Fast

  You can write simple        No HTML found.       Well, faster than
  text.                                            you can get coffee.

  * Basic markdown
  * GitHub flavor
  * This kind

At present up to 4 columns may be fit across a page of documentation.
Additional columns should be placed into a new |||---||| block and
will appear below these columns.

The column widths are not configurable.

Change-Id: I088115bf4d4569817aca736cb0ce02f9d777d61b
5 files changed