Use dispatch queues to call -didChangeText

This allows us to replace ivars with block-captured variables passed on the stack.
Update coding style of ASKSyntaxViewController
Extract undoable pattern into a method
Extract newline test into a method

This is done over and over and over again, and it looks awkard every
time it does.
Extract methods to insert and remove indentation

Reduces redundancy in -indentSelection: and -unindentSelection:
Tweak meaning of 'j' in -removeIndentationFromString:...

These two versions are equivalent, but one is easier to transform into
the next step...
Make -unindentSelection: support any indentation depth
Don't get into crazy -validateMenuItem: loops

That was dumb.
Make -indent/unindentSelection: indent/unindent whole lines

It even preserves the selection!
Recolor after toggling comment
Preserve selection when toggling comments
Match Xcode toggle comment behavior

Xcode preserves insertion points, but if a chunk of text is selected,
it ends up selecting the whole line. I don't know why it works this
way, but it's not a difficult behavior to duplicate.
Make backspace in leading whitespace unindent the line
Remove README line for issues fixed in this branch
Merge pull request #2 from brentdax/feature/fix-view-controller-actions

Fix ASKSyntaxViewController actions and correct style