This patch significantly improves the llvm-size testing. Changes I have made are:
- Change all ELF tests to use yaml2obj instead of assembly.
- Move the tests out of the X86 directory, since they don't need to be there after 1).
- Increased test coverage.
- Added comments to explain purpose of tests.
I haven't attempted to add test coverage for all Mach-O related code, as I am not familiar enough with that file format to be able to.