Fix LIST* pattern when used with one subpattern

Previously, the LIST* pattern when used with one subpattern did not
match lists. The new behavior can be illustrated with this identity:

  (ematch (list* '(1 2 3)) ((list* l) l)) => (1 2 3)

i.e. the function and pattern constructor CL:LIST* behave
correspondingly when used with one argument.
Merge pull request #97 from scymtym/list-star-fix

Fix LIST* pattern when used with one subpattern