Improve how we set LTO

Summary:
This introduces the following improvements:
  - Can be globally disabled with DISABLE_BUILD_LTO
  - Can be locally disabled with LOCAL_NO_LTO_SUPPORT.
  - Host modules now build without LTO by default.
  - Modules built with clang no longer need -fno-lto specified locally (LTO disabled here automatically)
  - Modules built with clang no longer have -fno-toplevel-reorder unnecessarily set.

Test Plan: Win

Reviewers: randall.rushing, Mustaavalkosta, michyprima, Roach, synergy

Reviewed By: synergy

Differential Revision: http://review.codefirex.com/D293