Don't panic on unused overrides

This previously did a failing hashtable lookup when an `Option`-returning `get`
would suffice.
Cache build output in the target build directory

Placing it in the host directory may end up later on down the road causing a
spurious recompilation when one isn't necessary. I couldn't currently think of a
test case for this, as I don't think that this affects correctness.
auto merge of #829 : alexcrichton/cargo/less-paniks, r=brson

Unused overrides previously led to a panic, and build cmd outputs were cached in the *host* location instead of the *target* location.