Markdown: Get code ContentType from extension
Markdown: Start TabAwareCharacterStream

Copy original CharacterStream so that I can modify it later
Markdown: Add tab awareness

Add tab handling to TabAwareCharacterStream; change
quote reader to handle inconsistent tab rules.
Core tab awareness is fully tested

Uncomment tab-related test cases.

Parser test cases do not all pass; my quote
nesting logic is not self-consistent.
Markdown: Fix tab handling for nested quote blocks

Up to four spaces (including prefix)
result in nested blocks; five spaces
are necessary for a code block.

Fixes all test cases, including delicious diagonal lines.