More accurate spans
Make build products depend on their target directories.

This is an attempt to address Issue #3326 by adding [*order-only*][1]
prerequsites of each build product on the directory where it is to go.
It is important that the prerequisites be order-only, since the
timestamp on a parent directory is not relevant to whether a product
is out of date; the parent directory merely needs to exist.

(This use case of generating target directories was provided as an
[example][2] of how order-only prequisites are used.)

[1]: http://www.gnu.org/software/make/manual/html_node/Prerequisite-Types.html

[2]: http://www.kolpackov.net/pipermail/notes/2004-January/000001.html
rt: glob, globfree dummy function for android
Fix syntax: had to use escaped $$ to have an effect after first expansion.
Fix another goof: consistently use parent directory of target for rule.

(I wonder if there's a better way to write this in the rule itself;
i.e. something like `$$(dirname $$@)`.  But for now this will do.)
Reduce code bloat from managed allocations

In commit d7f5e43 "core::rt: Add the local heap to newsched tasks",
local_malloc and local_free have become rather big and their forced
inlining causes quite a bit of code bloat. Compile times for crates
affected by the bloat (e.g. rustc) improve, while others (e.g. libstd)
seem to be unaffected, so I guess the inlining doesn't gain us much.

Sizes:
               | librustc   | libsytax
---------------|–-----------|------------
with inlining  | 18,547,824 |  7,110,848
w/o inlining   | 15,092,040 |  5,518,608
Register snapshots
small fix to the tutorial-ffi destructor example

The previous example was erroneously attempting to destroy
uninitialized memory, which was often zeroed (masking the bug).
rt: rust_android_dummy.cpp fix for make tidy
Fix span tests
Move formatting stuff into libcore+libsyntax
Get writef! stuff compiling
Change to better format method calls
fmt: move formatting some logic to core::fmt, enhance the default impls
Parser is more flexible and better tested now