Initial version with insufficient tests and no docs.
Removed the configs.
More tests for the extension and new tests for the RE. It's now possible to use an explicit blank title to not have the <p> tag with the title rendered.
First version of the docs.
Added comments detailing the difference between not providing a title and using a blank string as a title
Enable attributes inside image references
Merge pull request #182 from abackstrom/img-ref-attributes

Enable attributes inside image references
Forbid javascript:// URLs in safe mode
Merge pull request #185 from phihag/safemode-no-javascript-urls

Prevent javascript:// URLs
Whitelisted known safe url schemes in safe_mode. A better fix for #185.
Account for a paragraph that starts with a colon when processing def_lists

Fixes #171. While that report provided an example of an unordered list item that started with a colon, any block that starts with a colon and has no siblings before it (paragraph as begining if document, list item, etc) all exhibit this same behavior. Following PHP Markdown Extra's lead, these are not definition items as they have no term before them.
nl2br and attr_list compatability.

Fixes #177. When using both extensions, breaks (`<br>`) must have a linebreak (`\n`) after them before attr_list is run. This patch reorders the treeprocessors so that happens ('attr_list' runs after 'prettify' not before).

Also had to alter headerid extension so it runs after 'prettify' or it would run before 'attr_list' if loaded before 'attr_list' by user.
Preserve empty lines in code blocks

Partial fix for #183. Some lines are still being lost. When the processors are run, one line is lost. When their calling code is comments out (completely skiped) a line is still lost if more than 3 exist in a row.

Also need to add some tests for this.
Preserve whitespace in empty lines

Partial fix for #183. By preserving tabs at the start of empty lines in
code blocks, the parser will retain those empty lines. Still does not work
consistantly if the tab is missing!? Not sure why.

Also added tests.
HtmlBlockProcessor preserves empty lines

Partial fix for #183. This has the same effect on empty lines in code blocks
as not using the html processor at all (which was eating some of the missing
newlines as reported in issue #183).

By doing `rsplit('\n\n')` the third newline (in each set of three) always ends
up at the end of a block, rather than the begining - which it less of an issue
for the html processor.

Also updated tests to indicate final intended output, although they do not fully
pass yet.
Cleaned up fixes for #183

My previous commit (d5a94c2) broke a few things badly. Unfortunately I failed
to run the complete test suite and didn't catch it. A bad regex was crashing
the test suite. Also cleaned up a few other odds and ends from previous work
on #183. Still loosing a few random empty lines in code blocks though.

I suspect this may also fix #188.
Added skeleton draft of Release Notes for 2.3
Moved whitespace normalization to a preprocessor.

Fixes #150 - at least as much as I'm willing to. This allows whitespace
normalization to be overridable by the extension API. Yes, I realize that most
other processors will also proabably need to be overniriden to work with any
differant whitespace normalization - but I'm okay with that.

As pointed out in #150, some processors have the tab length hardcoded in
regexes. I'm willing to accept a working patch that fixes that - and keeps
the regexes easy to override in a subclass (the provded patch moved them
inside the __init__ method - which is not so easy to override in a subclass)).
However, that is about the only additional change I'm willing to consider for
this issue.
Updated docs to reflect extension loading best practices.

Fixes #184. Also delted some commented out code I missed in previous commit.
Footnote ids contain dashes when outputing HTML5.

Previously they contained colons - and they still do for HTML4 and XHTML.
Fixes #180.