add renaming and sctable funs
change to newer macro escape mechanism, using uints in more places
comments & whitespace
parser comments
removed obsolete reference to purity
rename repr to name
just use TLS interner
removed some interner fields
interner just uses uints, not idents with syntax context
token_to_ident takes argument by reference
remove unused cx's
rand example fixup
remove interner from tt_reader
remove interner field from string_reader
removed unused imports (and one unused argument)
remove unused get_ident_interner's
add hygiene support functions
added fresh-name fn
moved TLS of sctable to ast_util, hid parameter in hygiene calls
auto merge of #6938 : jbclements/rust/hygiene_fns_and_cleanup, r=jbclements

I'm close to flipping the switch on hygiene for let-bound identifiers.  This commit adds a bunch of support functions for that change... but also a huge amount of cleanup in syntax.rc. The most interesting of these are

- the use of TLS for the interners everywhere.  We had already breached the "no-global-state" dam by using TLS for encoding, and it saves a lot of code just to use it everywhere.
Also, there were many places where two or more interners were passed in attached to different structures, and the danger of having those diverge seemed greater that the danger of having a single one get big and heavy. If the interner size proves to be a problem, it should be quite simple to add a "parameterize"-like dynamic binding form--because we don't have interesting continuation operations (or tail calling, mostly) this should just be a case of a mutation followed by another later mutation. Again, this is only if the interner gets too big.

- I renamed the "repr" field of the identifier to "name". I can see the case for "repr" when there's only one field in the structure, but that's no longer the case; there's now a name and a context (both are uints).

- the interner now just maps between strings and uints, rather than between idents and uints. The former state made perfect sense when identifiers didn't have syntax contexts, but that's no longer the case.

I've run this patch against a fairly recent incoming, and it appears to pass all tests. Let's see if it can be merged....