Color backedges as red in IR printing

Summary: Helps for viewing, but mostly for searching for backedges in IR dumps.

Reviewed By: @ottoni

Differential Revision: D1729806

Signature: t1:1729806:1418176796:12b767c8040e44d8182b818e46308f3cf366a11c
Set relative path root in js version of hack

Reviewed By: @int3

Differential Revision: D1732315

Signature: t1:1732315:1418253837:9bf5b3c803b235877c73db8a4f6e7904c4550499
Make ast destruction less recursive

Summary: ast nodes can have a pointer to a canonical node which
allows a certain amount of cse and constant propagation. These could
chain through the elements of an array, with the result that when the
array is destroyed, the last element keeps all the other elements alive,
and when its finally destroyed, we recursively walk the canonPtrs
destroying the elements.

This just clears all the canonPtrs in the destructor of ExpressionList,
which should prevent most pathalogical cases of this.

Reviewed By: @jdelong

Differential Revision: D1731406
Improve thread hooks

Summary: Also fix a couple of leaks on thread exit.

I don't think we're being bitten by the leaks right now, because
the only threads that are created/destroyed a lot are created using
std::thread, which bind directly to pthread_create etc, bypassing
our wrappers.

But I didn't like the way we had to sleep/retry to get hold of the
thread info from the map. So this passes the PthreadInfo as the
argument to the start function.

Reviewed By: @jasone

Differential Revision: D1731592

Signature: t1:1731592:1418245780:1ef8a7414641474036d0c76d3fc875693ca55ec1
Transform invariant/invariant_violation

Summary: These two toplevel functions need to be given the correct name
when transformed.

Reviewed By: @int3

Differential Revision: D1729613

Signature: t1:1729613:1418213468:23186b9476b00e0fd6ffb11a3055c7499553b7a8
Fix some arm issues

Summary: Missing vasm instructions and a difference between the x64 and arm
versions of emitCallArrayPrologue. They both crept in due to test infra issues.

Reviewed By: @mxw

Differential Revision: D1733394

Signature: t1:1733394:1418280328:317bb65b2e2c2264750c11ccee1e80844c1c2277