Initial commit to new branch, lots of rearrangement

Not finished with rearraning things, this commit is just to have an
initial checkpoint
another incremental update to rearranging
Tentatively finished rearranging files and re-writing build files

Rewrote Makefile.am's in gc and libffi so that they don't get installed
when installing, but they do get built and configured recursively using
autotools.

I haven't actually changed any code yet, but I've clean and re-arranged
the source tree.

I'm pretty sure the changes I made to the gc and libffi submodules won't
get pushed, but I added patches to patch their Makefile.am's.

So This will probably be the last really working commit, before I start
rewriting stuff