Begin llvm Code Generation.

With this commit, mj will properly generate code using llvm that doesn't use variables. The only known exception is short-circuit evaluation is not yet implemented.

Add a generic interface for driving code generation. The llvm integration uses this interface. In the future we may refactor the legacy code generation to use this interface or write our own code generation backend. Or it may just be an unnecessary abstraction. Who knows what the future holds.
	src/Compiler/IR/Builder-IR.h
	src/Compiler/IR/Builder-IR.cpp

This is the primary AST to LLVM IR driver. It takes care of creating the llvm context, converting AST::Statements and producing the assembly output.
	src/Compiler/IR/LLVMBuilder.h
	src/Compiler/IR/LLVMBuilder.cpp

Add a separate class for converting expressions. It's a separate entity (as opposed to a single instance like LLVMBuilder) to support creating argument lists.
	src/Compiler/IR/LLVMExpressionBuilder.h
	src/Compiler/IR/LLVMExpressionBuilder.cpp

Turn on the experimental llvm code generation with the --llvm flag.
While we're here, alphabetize the argument handling tables.
	src/minijava.h
	src/minijava.cpp

Refactor the legacy code generation code to support both the legacy code generation path as well as the new llvm path, which takes advantage of the existing code that links the executable.
	src/code_gen.cpp

Add a member function to get the triple of the platform, which llvm seems to only want to accept as a string.
	src/Compiler/Platform/IPlatform.h
	src/Compiler/Platform/Platform_i386_OSX.h
	src/Compiler/Platform/Platform_i386_OSX.cpp

llvm handles prepending the underscore to the symbol names so remove the built in underscores and add them during the code generation phase.
	src/code_gen.cpp
	src/Compiler/AST/ExpressionFunction.cpp
	src/Compiler/Language/MiniJava/ContextBuilder.cpp

llvm won't generate direct calls to functions that aren't in its context, so make displayInteger a global symbol so the mj assembly file can indirectly call it. This is fixed up at link time.
	src/displayInteger_freeBSD_i386.asm
Implement Local Variables with llvm Code Gen.

Add a new class to look for all the variables in a method and assign an index to each one.
	src/Compiler/IR/StackLayout.h
	src/Compiler/IR/StackLayout.cpp

Allocate stack space for each variable and implement assignment and declaration statements.
	src/Compiler/IR/LLVMBuilder.h
	src/Compiler/IR/LLVMBuilder.cpp

Require a variable look up function so variables in expressions can be resolved.
	src/Compiler/IR/LLVMExpressionBuilder.h
	src/Compiler/IR/LLVMExpressionBuilder.cpp