Replace uses of Integer with Int

"Integer" is java.lang.Integer while "Int" is scala.lang.Int. They're
mostly interchangable but Int is the native Scala type and has more
useful methods defined
Support generating binaries using llc and clang++

Previously the app would always emit LLVM IR. Instead default to
generating a standalone executable by piping the IR to llc and then
linking it with the runtime and libc++ using clang++. The previous
behaviour is available using the new --emit-llvm option.