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.