std::rt: Use 2MB stacks

Seems to be around the minimum needed by rustc without split stacks
std::rt: Change Thread interface to require an explicit join

Makes it more obvious what's going on
std: Remove ManualThreads spawn mode
std: Remove ThreadPerTask spawn mode. Unimplemented
std: Remove PlatformThread spawn mode. Obsolete
std: Remove ExistingScheduler spawn mode. Unused
std: Remove CurrentScheduler spawn mode. Unused
std: Remove get_task function. Unused
std: Remove foreign_stack_size spawn option. Irrelevant to future FFI changes
auto merge of #8139 : brson/rust/rm-old-task-apis, r=pcwalton

This removes a bunch of options from the task builder interface that are irrelevant to the new scheduler and were generally unused anyway. It also bumps the stack size of new scheduler tasks so that there's enough room to run rustc and changes the interface to `Thread` to not implicitly join threads on destruction, but instead require an explicit, and mandatory, call to `join`.