Simplify the logic for deciding whether to emit a function

This will soon exclude synthetic functions that we won't want to
exclude. Because we use linkonce_odr linkage for functions outside packages
it doesn't matter much whether we emit duplicates.
Mangle synthetic functions without a receiver using Function.String()

Such functions may be thunks whose receiver types are unavailable
through the public interface.
Add a README.patches file to make it easier to keep track of which patches we need
Emit more entities in a deterministic order, and do so unconditionally

The cost of doing so is small, and not enough to justify the burden of
maintaining two code paths, in my opinion. By emitting in a deterministic
order, we can check (and indeed, I have checked) the correctness of a
self-hosted build by comparing the second and third stages.
Give unexported globals internal linkage
Merge pull request #167 from pcc/libgo-glob

Give unexported globals internal linkage
Merge pull request #164 from pcc/libgo-thunk

Get us ready for an SSA change
Merge pull request #165 from pcc/libgo-init

Statically optimize initializations performed by init function
Merge pull request #166 from pcc/libgo-det

Emit more entities in a deterministic order, and do so unconditionally
Start using DW_LANG_Go
Methods do not need descriptors
Populate the correct pass manager
Print a "no input files" error message in the case where the only inputs provided are flags
Change the semantics of the GccgoPath compiler option

Now a blank path means that the compiler does not search for gccgo and
the caller is expected to supply an import path in ImportPaths.

We also change gllgo to not supply a gccgo path by default.
Merge pull request #168 from pcc/libgo-p1

Start using DW_LANG_Go
Introduce llgo.GoVersion() and use it to determine the version of Go we target

The version of Go that we target is not necessarily the same as
the version that we were compiled with. Also, the output of "$GOC --version"
is used by libgo to determine the value of runtime.Version(), and thus is
unstable during bootstrapping.
Introduce support for -print-multi-os-directory

Also, factor --version into the same code path.
Introduce support for inferring import and library paths from the installation prefix
Add scripts and Makefile for bootstrapping and installing llgo

Also update the README.md file.
Merge pull request #169 from pcc/libgo-p2

Methods do not need descriptors