asm-llvm: Support "maybe void" return type for functions.

The asm.js spec doesn't care about knowing the return type of a function
at its call site.  Introduce a new "maybe void" type to mark the occurance
of a function which might return a intish or doublish value, or might
return void.  Type check the uses of "maybe void" types.
asm-llvm: Verify that all forward-referenced functions are eventually defined.