Until now, parseBitcodeFile() would use an already-existing StructType if
it EITHER had the right structure and no name, OR the right name and no
structure, but not if it had both the right name and the right structure.
This change makes parseBitcodeFile() check the struct and use it if
appropriate.
It still creates a new StructType with a new name if the existing type and
what it needs to read differs in structure.
It also add a new function to retrieve a named StructType by name. The new
function is a lookup-only function; it doesn't change anything at all.
This probably deserves a /// doxygen comment