Create epub versions of tutorial and ref manual.

Pandoc can create epub verions of the markdown files. Since the docs
are lengthy, epubs are handy to have around. Two rules to create epub
versions of the reference manual and the main tutorial are added here.

Signed-off-by: Noufal Ibrahim <noufal@nibrahim.net.in>
std: Make atomic types non-copyable. Closes #8380
Define WSAPOLLFD only on mingw 4.x

Fixes #10327
fix android timegm
tutorial: rewrite the section vectors/strings

This section desperately needs to be expanded, but removing the
misleading/incorrect information is a priority.

Managed vectors/strings are not covered, as they are feature-gated and
are only a micro-optimization to avoid double-indirection.

Closes #6882
syntax::ext: Make type errors in deriving point to the field itself.

This rearranges the deriving code so that #[deriving] a trait on a field
that doesn't implement that trait will point to the field in question,
e.g.

    struct NotEq; // doesn't implement Eq

    #[deriving(Eq)]
    struct Foo {
        ok: int,
        also_ok: ~str,
        bad: NotEq // error points here.
    }

Unfortunately, this means the error is disconnected from the `deriving`
itself but there's no current way to pass that information through to
rustc except via the spans, at the moment.

Fixes #7724.
auto merge of #10344 : brson/rust/atomiccopy, r=alexcrichton

I didn't try to add clone methods since it's not clear to me which types are appropriate to clone or what the memory ordering should be.
auto merge of #10346 : klutzy/rust/mingw64-32-fix, r=alexcrichton

Fixes #10327
auto merge of #10348 : ksh8281/rust/fix_android_timegm, r=yichoi

fix timegm bug on android
TZ restore not correctly before.
and it cause test case fail (time::tests::run_tests::test_convertions)

with @sammykim
auto merge of #10354 : thestinger/rust/vector, r=huonw

This section desperately needs to be expanded, but removing the
misleading/incorrect information is a priority.

Managed vectors/strings are not covered, as they are feature-gated and
are only a micro-optimization to avoid double-indirection.

Closes #6882
auto merge of #10355 : huonw/rust/deriving-field-spans, r=alexcrichton

This rearranges the deriving code so that #[deriving] a trait on a field
that doesn't implement that trait will point to the field in question,
e.g.

    struct NotEq; // doesn't implement Eq

    #[deriving(Eq)]
    struct Foo {
        ok: int,
        also_ok: ~str,
        bad: NotEq // error points here.
    }

Unfortunately, this means the error is disconnected from the `deriving`
itself but there's no current way to pass that information through to
rustc except via the spans, at the moment.

Fixes #7724.
Add default 'package_id' link meta for crates (with value equal to 'name')
Added default value for package_id attribute when encoding metadata for lib crates
Added tests for default generation of package_id meta attribute
Specify package_id for rust libs, to avoid spurious warnings
Create a new pass to resolve named lifetimes; rscope is not only
used to indicate when anonymous regions (i.e., &T) are permitted
Added a FIXME with issue number to change package_id
Introduce ty_fold mechanism and port our various folders to use
it. This should eventually be merged with the Subst trait.
Implement IterBytes for TypeId
rustpkg: Add a test that `rustpkg install` doesn't copy a non-changed file

This bug was already fixed, just needed a test.

Closes #9569