compiler: generalize cleanup of unresolved placeholder pointer types
This change extends the work in https://golang.org/cl/51131 to include
placeholder pointer types created for Go function types, which can
also be left dangling/unresolved in some instances. This fixes an
assert in Llvm_backend::materializeComposite.
Test case can be found in https://golang.org/cl/191743.