Relate the module hierarchy to directory paths in the parser

Introduces a temporary 'path2' attribute that will replace 'path' after
a snapshot
Fix deriving for single-variant enums
Merge pull request #4164 from brson/deriving

Fix deriving for single-variant enums
libstd: teach workcache to check freshness.
libstd: refactor future, remove with(), remove ~ indirection.

Conflicts:

	src/libstd/future.rs
libstd: Implement read_managed_str for the JSON deserialiser.

The FIXME is an underlying issue (a core::at_str library) that this
doesn't address.
fix long line, r=tidypolice.
Avoid extra error for type mismatches in patterns

When a type error has already occurred, don't call ty::subst,
which may ICE due to the mismatch in the number of type params
involved.

I'm deeming this too small to review.

Closes #3680
Remove old deriving
Auto-deref when checking field and method privacy

This disallows using pointers to sneak around priv qualifiers.

Deeming this too small for review as well. Closes #3763
re-fix typo
Reverse the order of the results of pipes::stream

As per #3637.
Merge pull request #4167 from catamorphism/issue-3637

Reverse the order of the results of pipes::stream
Fix tasks tutorial tests
Add Huon Wilson to AUTHORS.txt
syntax: remove all remaining uses of #ast, and #ast / qquote itself.
syntax: remove most code handling old-style syntax extensions.
Document pub use foo::* in the reference manual

r=brson

Closes #3788
syntax: remove remaining #syntaxext machinery. Close #3516.
Merge pull request #4172 from graydon/remove-old-syntax-ext

Remove old syntax ext