make nonempty balanced braces and brackets 'almost evaluable' expressions

That is, they would evaluate without error if we substituted parenthesis
for the braces or brackets.  This is to catch the case where
implementations are allowing these as substitutes for parens.
remove whitespace inconsistency
test $if
first shot at pairs-and-lists test group
first shot at testing environments
Merge pull request #4 from euccastro/master

test $if, begin to test pairs-and-lists and environments, other fixes