Make json::to_xxx(&Json) fns Json::to_xxx(&self)

to_str, to_pretty_str, to_writer, and to_pretty_writer were at the top
level of extra::json, this moves them into an impl for Json to match
with what's been done for the rest of libextra and libstd.
Use the proper monomorphized ty::t for llvm alias hints. Closes #7260.
test: add support for sharding testsuite by passing --test-shard=a.b
Talk about trait bounds in the tutorial.
Document the task watching / exit code propagation implementation.
Add new function str.truncate()
auto merge of #8719 : msullivan/rust/cleanup, r=catamorphism

r?
auto merge of #8722 : graydon/rust/2013-08-23-test-shard, r=msullivan

This makes it relatively easy for us to split testsuite load between machines in buildbot. I've added buildbot-side support for setting up builders with -a.b suffixes (eg. linux-64-opt-vg-0.5, linux-64-opt-vg-1.5, linux-64-opt-vg-2.5, linux-64-opt-vg-3.5, linux-64-opt-vg-4.5 causes the valgrind-supervised testsuite to split 5 ways across hosts).
auto merge of #8679 : singingboyo/rust/json-to-impl, r=alexcrichton

to_str, to_pretty_str, to_writer, and to_pretty_writer were at the top
level of extra::json, this moves them into an impl for Json to match
with what's been done for the rest of libextra and libstd.  (or at least for vec and str)

Also meant changing some tests.

Closes #8676.
auto merge of #8725 : bblum/rust/docs, r=graydon

This documents how to use trait bounds in a (hopefully) user-friendly way, in the containers tutorial, and also documents the task watching implementation for runtime developers in kill.rs.

r anybody
auto merge of #8732 : kballard/rust/str-truncate, r=thestinger
Add OwnedStr::into_bytes

My primary use case here is sending strings across the wire where the
intermediate storage is a byte array. The new method ends up avoiding a
copy.