Add dist to .gitignore
Add VariableTokenizer

This does a pass at abstracting out the code for tokenizing text
on formatting tokens.
Fix flake8 issues