[llvm-size][test] Improve llvm-size testing
This patch significantly improves the llvm-size testing. The changes
- Change all tests to use yaml2obj instead of assembly or pre-canned inputs.
- 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.
Reviewers: grimar, MaskRay
Differential Revision: https://reviews.llvm.org/D66134