field renaming
commenting parser
change to parsing using tts

also, updates test cases a bit
Implement Clone for tuples
auto merge of #5692 : Aatch/rust/tuple-clone, r=thestinger

This implements the clone interface for tuples and adds a test to match. The implementation is only on tuples that have elements that are themselves clone-able. This should allow for `#[deriving(Clone)] on nominal types that contain tuples somewhere.
Make bench/noise.rs more idiomatic and 20x faster
auto merge of #5695 : bstrie/rust/noise, r=thestinger

With --opt-level=3, this version runs in 0.014s on my machine, compared to 0.252s for the previous version. Mostly due to the #[inline] on get().
Removing mut fields from vec.rs, at_vec.rs, str.rs, unstable.rs, and cell.rs.
Unstable didn't need transmute_mut after all.
Add Clone derivation for std::net::url types.
auto merge of #5559 : jbclements/rust/change-to-tt-based-parsing, r=jbclements

Changes the parser to parse all streams into token-trees before hitting the parser proper, in preparation for hygiene.  As an added bonus, it appears to speed up the parser (albeit by a totally imperceptible 1%).

Also, many comments in the parser.
Also, field renaming in token-trees (readme->forest, cur->stack).
Add information about logging macros to the tutorial.

Closes #5699.
Fix compiletest on windows
typo fix: na -> an
auto merge of #5696 : thestinger/rust/hashmap, r=sanxiyn

This naming is free now that `oldmap` has finally been removed, so this is a search-and-replace to take advantage of that. It might as well be called `HashMap` instead of being named after the specific implementation, since there's only one.

SipHash distributes keys so well that I don't think there will ever be much need to use anything but a simple hash table with open addressing. If there *is* a better way to do it, it will probably be better in all cases and can just be the default implementation. 

A cuckoo-hashing implementation combining a weaker hash with SipHash could be useful, but that won't be as general purpose - you would need to write a separate fast hash function specialized for the type to really take advantage of it (like taking a page from libstdc++/libc++ and just using the integer value as the "hash"). I think a more specific naming for a truly alternative implementation like that would be fine, with the nice naming reserved for the general purpose container.
Update tut. to not sound like I missed a section

The sentence "Remember that `(float, float)` is a tuple of two floats"
sounds like you've already read a section on tuples, but that section
comes later. Changing it to "Assuming that ..." makes it more about
taking the writer's word that the syntax is how tuples are defined.
auto merge of #5698 : Thiez/rust/de-mutfielding, r=pcwalton

This pull request removes some mut-fields from at_vec, str, vec, unstable, and cell. Sadly in case of Cell this required using either transmute_mut (2 instances) or changing the interface. I chose the former. Perhaps it would be a good idea to merge Cell and Option, and take that opportunity to change the interface to use '&mut self' instead of '&self' (which would enable removing the transmutations) for take and put_back.

r?
auto merge of #5701 : metajack/rust/net-url-clone, r=thestinger
One more typo: dubug -> debug
Simple typo fix