changed which list-tail was used to avoid run-time dependencies; fixed a bug with autogenerated clauses that was causing it not to complain when it needed to; fixed a bug with tracing for transformers that did not return (or take) a language term; updated node counter to skip any double adding

nanopass/helpers.ss, nanopass/implementation-helpers.ss

removed list-tail definition from helpers and turned it into an import
in implementation helpers.  (thanks to Kent Dybvig, who made the change
and submitted a bug report).

nanopass/language-node-counter.ss

there is no longer an additional (duplicate) count for traversing into
a sub-nonterminal.  counts for terminal elements of a wrapping
nonterminal have also been removed (not sure if this was a good change
or not).

nanopass/pass.ss

changed how the "trace" keyword determines when it should use an input
or output unparser.  this is now determined by both checking that there
is an input (or output) language and an input (or output) nonterminal
in the transformer being traced.

nanopass/pass.ss

changed the autogenerated clauses to call the checking record maker
instead of the non-checking version, because a recursive call could
potentially hit a compiler writer supplied terminal or nonterminal
transformer that builds an invalid item.
updated copyright date to reflect the fact that it is now 2013