refactor the way silent output works; tests passing
add for/else; update tests
add for/else tests
fix for loop vars; add tests
allow "not" operator; more tests
render can be called without data
filter allows {{ text | filter("arg") }}
fix parseFilter
add is/isnot; update notes