Added skeleton implementation of a B-tree with a few bells and
whistles.  No major functionality added yet (such as insertion and
removal).
rt: Convert timezone to utf-8 on Windows

Previously #9418 fixed utf-8 assertion issue by wcsftime,
but the function didn't work as expected: it follows the locale
set by setlocale(), not the system code page.
This patch fixes it by manual multibyte-to-unicode conversion.
Re-arranging some things in btree.rs to accommodate testing.
Addressed style concerns in btree.rs and added it to the lib file.
Added documentation within btree.rs.
Edited comment for docs to show std::io is deleted and replaced by std::rt::io
std: Make atomic types non-copyable. Closes #8380
extra::time: Fix test on Windows

Closes #10307
auto merge of #10281 : klutzy/rust/rt-timezone, r=alexcrichton

Previously #9418 fixed utf-8 assertion issue by wcsftime,
but the function didn't work as expected: it follows the locale
set by setlocale(), not the system code page.
This patch fixes it by manual multibyte-to-unicode conversion.
Define WSAPOLLFD only on mingw 4.x

Fixes #10327
fix android timegm
auto merge of #10341 : willingc/rust/minor-docfix, r=huonw

...rt::io
Added proper //! documentation to the beginning of btree.rs.
auto merge of #10303 : niftynif/rust/master, r=catamorphism

r? @catamorphism
First contribution; contains struct definitions and some useful traits.  Can possibly be improved by removing the dependence on the Clone trait.  This is intended to be the beginning of a long-term project.
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.