Improve libgcov portability

Summary:
Without this change, we need to link to additional
libraries while linking libgcov.a which increases
total code size. This removes that need.

This isn't included in the gcc source due to
being a very nasty hack I would like to eventually
avoid.

Test Plan: tested quite a lot here, runs great. someone else should test htough.

Reviewers: randall.rushing

Differential Revision: http://review.codefirex.com/D387
Squashed build fixes:

  * Cleanup arch variant handling.
  * Use headers from bionic after sysroot.
    According to build/configure, inheritance
    order is fine with both flags).
Merge branch 'jb-devel-mr2-release-portability' into jb-devel-mr2-release