VASM initial code drop

Summary: This is a squashed diff of just the new vasm code, without changes
to hhvm to use it (yet).

Reviewed By: @jasone

Differential Revision: D1452965