Start adding support for shared libraries.

This just adds the types and enough support to detect incompatibilities among
shared libraries and object files.

llvm-svn: 246797
8 files changed