Refactored GCC Bridge Compiler

Previous, GCC Bride was simply parsing the output from
gcc -fdump-tree-raw to obtain the intermediate GIMPLE AST.

However, this approach was limited because the dumping output
is only intended to assist in debugging GCC, and is not a
complete representation of the Gimple AST. Complete type information
was missing, and sometimes the values of constants were not output.

This new implementation uses a GCC plugin to dump the Gimple AST
into a JSON-encoded structure that contains all the information we
need.

The Gimple-to-Jimple translator has been also been refactored and
extended to handle a wider range of pointer manipulation and
other computation in a more elegant way.

The result is a compiler that compile a substantial subset of
both Fortran and C to JVM byte code, while allowing us to translate
calls to the GNU R API to their Renjin equivalents.

Both qr() decomposition and lm() are now working, which is important
because available java implementations of these algorithms differ
in important ways from the implementations customized for GNU R
in libappl.

The downside of this refactoring is that we require a GCC plugin
to run the compiler, and we are probably tightly coupled to the
GCC version used in development (4.6.3). The resulting classfiles,
however, are pure JVM byte code and completely platform independent.

A x86_64 linux binary of the gcc plugin is included in the jar,
for other platforms you will probably need to build the plugin yourself.

Also note that GCC Bridge asks GCC to cross-compile to a 32-bit
platform, as this results in Gimple code with 32-bit pointers which
match the JVM's 32-bit array indices.