add no-variable test and note Soar warnings

It turns out that you can test without binding to a variable at all,
even without a state/impasse binding. Test this in the parser, and
add notes about the productions that make Soar warn.
add variable binding tests with condition tests

The test of the presence of a variable really has to do with the
structure of a condition, so add tests for it with the state/condition
tests. Make it clearer in the variables test file that it is testing
what characters can be in a variable, and add explanatory note to
one of the tests there.
remove logic rejecting unbound variables

Soar allows unbound variables, but warns about them. Add one more
test that unbound variables parse correctly, and remove the logic
used to reject them at parse-time. This logic actually didn't work
because in PRD items with `(?)` are empty array refs, not `undef`,
when unmatched. Leave correct logic in as a warning, but commented
for now since I am unsure what correct behavior/warning/test should
be done for this.