Remove two warnings about unneccesary safe blocks.

Since a snapshot was done last night, these are good to go.
auto merge of #6644 : steveklabnik/rust/remove_unsafe_warning, r=bstrie

Since a snapshot was done last night, these are good to go.
refactoring test functions
parser comment
detect unused attrs in one more place, allow parsing to continue for all

changed a bunch of fatal()'s into err()'s, to allow parsing to proceed.
hygiene infrastructure.

- added a hash table to memoize rename and mark operations.
- added rename, mark, and resolve fold fns
getting rid of interner_key! macro
added and rewrote text for 'do' and 'for' loops
auto merge of #6559 : jbclements/rust/hygiene-fns-and-cleanup, r=jbclements

This includes new, tested, hygiene support functions. It also removes the interner_key! macro and replaces it with a function, which should be inline-able. It also contains some parser patch-ups and some docfixes.

On my machine, this patch passes all tests.
Implement a lint mode to detect unnecessary allocations
Remove all unnecessary allocations (as flagged by lint)