Markdown: recognize special note, promo, and aside blocks

Extend the supported markdown syntax with a special aside format
useful for documentation writing.

  *** note
  Pay special attention here!

  You may have to watch out for crazy developers.
  ***

A note block starts with *** on its own line and ends with *** on its
own line.  Everything inside of the block is read as Markdown and
reprocessed through a recursive call whose AST is inlined.

Three kinds of notes are recognized, which are given different CSS:

  *** note
  Some sort of a warning you should watch out for.
  ***

  *** promo
  Look here this may interest you.
  ***

  *** aside
  The author felt you should read this here, but really
  it's just a distraction and maybe should be omitted or
  moved to another page buried under a link.
  ***

Change-Id: Icbfd27d3afd7d0137e37b7d5e821938c70207cf1
5 files changed