Compare values in TreeMap's 'lt' function

Closes #5194
Small documentation changes

I'm leaving the Sized kind undocumented since it isn't fully implemented
yet.
GC static_size_of_enum, which was unused
Fixed documentation for finalize->drop change
Removing the rename warning

Now that the finalize->drop rename has happened, this hopefully
shouldn't end up changing again.
Fix make_mono_id to take into account self types. Closes #7536.
Make privacy checking on default methods for cross crate structs not fail. Closes #7481.

It is unclear to me that the way method call privacy checking is done
makes any sense, though. It is only performed if the type is a
struct...
Add x64 windows to platform.mk and mingw64 header fixes.
auto merge of #7547 : luqmana/rust/mingw64, r=yichoi

Add the x64 windows target to platform.mk and reorder some headers to fix build on mingw64. There are still some issues with building llvm but this gets us one step closer.
auto merge of #7545 : msullivan/rust/default-methods, r=catamorphism

r?
auto merge of #7549 : sfackler/rust/docs, r=msullivan

I'm leaving the Sized kind undocumented since it isn't fully implemented
yet.
auto merge of #7530 : alexcrichton/rust/issue-5194, r=thestinger

Closes #5194
auto merge of #7554 : jld/rust/rm-ssoe, r=catamorphism
rustc: remove some dead functions
std: add str.to_c_str()
std: rename str.as_bytes_with_null_consume() to str.to_bytes()
std: rewrite run::with_{argv,envp,dirp} to copy C strings
std: remove os::as_c_charp
std: move str::as_buf into StrSlice
std: move str::as_c_str into StrSlice