Generate heading IDs in HTML output.

Uses the heading text itself as the ID for the H*. The only
transformation made is to replace whitespace with '-' (hyphen). This
conforms to the HTML5 spec wherein ID attributes can contain any
non-whitespace character. (The previous HTML4 restrictions on ID
attribute values have been relaxed.)

This feature is limited in scope to strictly generating heading IDs.
A future enhancement would be a simple way of letting the author specify
the ID attribute. Perhaps:
  # Some: Crazy Header  {#custom_id}

  to generate: <h1 id="custom_id">Some: Crazy Header</h1>
Merge pull request #181 from jasonkarns/heading-ids

Generate Heading IDs