VASM: remove useless instructions

Summary: This diff implements dead code elimination over VASM. Instructions
that modify cpu flags, physical registers, memory, or control flow,
are considered "useful"; this is conservative but correct when we aren't doing
dataflow analysis on machine state (registers, flags, memory).

A current limitation is that we don't track liveness of status flags, so we
cannot remove otherwise-dead ALU instructions (in case the flags are used).

Runs DCE before register allocation.

Reviewed By: @jasone

Differential Revision: D1460512
make server.inc more robust

Summary: @jlreyes made this more robust, but I forgot to make him also change the import script to keep it. So when I did a re-import, it blew it up.

Reviewed By: @JoelMarcey

Differential Revision: D1549523