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
Merge pull request #164 from pcc/libgo-thunk

Get us ready for an SSA change