Fix Symbol Name Emission.

Follow up to commit a01784da4168d38148a8f97c196fb8434c0e0e7f.

Don't automatically prepend an underscore to every symbol name, as Compiler::CodeGen::IPlatform now handles symbol generation.
	src/code_gen_i386.cpp

But now the hard coded symbol names and other C symbols require a manual prepended underscore, until we can fix up how those symbols are generated.
	src/code_gen.cpp
	src/Compiler/Language/MiniJava/ContextBuilder.cpp
Remove Lingering PPC Sources.

Follow up to commit 7974ba08d45fbe19bcfd44a7b91e628493c15143.

We no longer need the source for displayInteger_ppc.asm embedded in the compiler as we no longer generate any PowerPC source.
	src/displayInteger_ppc.asm
	project/Mac OS X/Compiler.xcodeproj/project.pbxproj
Fix Double Allocation.

There has been a long standing bug in the code generation code that caused classes to be allocated twice. This went unnoticed because there is no way to detect such a bug within the MiniJava language specification. Remove the extraneous compile_expr call whose result was unused as the expression was compiled again and the latter is the expression actually used.
	src/code_gen.cpp
Standard Function Invocation.

Historically MiniJavaC appended the 'this' argument to the end of the formal arguments list but standard member functions have it first, so let's match that.
	src/Compiler/AST/ExpressionMember.cpp
	src/Compiler/AST/Verifier.cpp
	src/lang_bindings_c.cpp
	src/code_gen_i386.cpp

Which means methods no longer remove their arguments from the stack. Now the caller is responsible.
	src/code_gen.h
	src/code_gen.cpp
	src/code_gen_i386.cpp

Now that we follow platform conventions we no longer need the glue code to bridge ABIs and method invocations can directly call the extern functions.
	src/lang_bindings_c.cpp
	src/code_gen.cpp
	src/mj_dispatch.c
	project/Mac OS X/Compiler.xcodeproj/project.pbxproj

The C language bindings are somewhat broken. We no longer emit symbols for virtual functions not overridden in derived classes. But since we're transitioning to seamless C++ integration that's not too big of a deal.
	src/code_gen.cpp
Fix C Integration Header Guard.

The header guard name was previously the --header argument verbatim. Using a path doesn't translate well in to a macro name so let's just use minijava.
	src/lang_bindings_c.cpp
Allow Spaces in External Paths.

minijavac invokes clang to compile any non-Java source files and to drive assembly and linking. Quote the path arguments to clang so we don't choke if the user provides a path with a space.
	src/code_gen.cpp
Improve Language Bindings Test Case.

Pass three explicit arguments to the external C function so we can better verify argument correctness.
	Test Cases/LanguageBindings/testcase3.java

Call methods from C on the class to set a member variable and display integers.
	Test Cases/LanguageBindings/testcase3.c
	Test Cases/LanguageBindings/testcase3.java

Which requires updating the expected output.
	Test Cases/LanguageBindings/testcase3.out