synop: fix recursive `Repeat` normalize
synop: ast refactoring
synop: make `Expr#normalize()` consume `self`.
.gitignore: ignore doc
synop::token::Tokenizer: take `Iterator<char>` instead of `&str`
synopfmt: consume all input instead of each lines
synop: when parse error found, parser returns `ParseResult` instead of `fail!()`