add hygiene support fns, move them around.

also adds test cases
try removing basically dead code in resolve
resolve test case

resolve must ignore syntax context when comparing module names
flip the switch on let renaming
renaming test cases
comments in ast.rs
removed unneccessary SyntaxExpander structs
separate ItemDecorator from ItemDecorator
refactor so tt_fold only requires an ident->ident fn
adding test case to check marking/unmarking
comment
comment
comment
one-line comment
added parse_token_trees.rs
comment
remove FIXME #2888, now bug is fixed
add call to hygienic resolve
added FIXME comment
drop back to a simple gensym approach for fresh-name.

this is necessary so that the new idents are connected to the original strings.
this is important both for error messages, and so that top-level refs get connected
to the right things.