Local::borrow tweak and basic task pinning.

Includes two commits: 
1) A modification of the Local::borrow function to support returning an argument. Required changing a large number of files to add an extra type parameter.
2) A basic implementation of task pinning. A task started with a designated "home" scheduler will only run on that scheduler. IO interactions are not yet implemented, and forwarding of tasks off "special" schedulers is not yet implemented.

Running with a high (greater than 100) RUST_RT_STRESS variable could result in nontrivial test execution times.