[llvm-size][test] Improve llvm-size testing


[llvm-size][test] Improve llvm-size testing

This patch significantly improves the llvm-size testing. The changes
made are:

  1. Change all tests to use yaml2obj instead of assembly or pre-canned inputs.
  2. Move the tests out of the X86 directory, since they don't need to be there after 1).
  3. Increased test coverage.
  4. 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