LTO, GNU11++, STRICT ALIASING

(cherry picked from commit 468e9983b66b53594942c215051bf9c60e88f38f)
Enabling sdiv support in ART

Added more target into ART instruction set feature look-up list

Change-Id: I0ea0097181e5c76507b8ca2a34cf37d2e2ca6403

(cherry picked from commit fce5feebdc8e91c151bb3bd4e8b1190e5ba4eef2)

(cherry picked from commit 2491711188d5688134fb131bc0f443d9cdcdea11)
Address armv7-a-neon config issues

1) CM by default removes krait from cortex-a15 but if you look at Google build master branch they leave this note about how it is needed so that hardware divide operation are generated. This should resolve that issue.
2) It turns out that krait/cortex-a15 support LPAE but it is not enabled unless we fake this flag here.  This is also from Google build Master Branch.
3) I noticed that --fix-cortex-a8 is being applied to all cpu varients which makes no sense so I've moved that option under cortex-a8 where it should be (at least in my opinion where it should be)

Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
Change-Id: I3aa5266dab8ab23267623ca936f771edbae2c9a8

(cherry picked from commit 1ba9340de5ec5a103036e14b5e07a493c7d4991f)
Allow defining multiple GCC O Levels [1/2]

Available GCC Optimization Levels
    -Os
    -O2 (Default)
    -O3

PS2: Derp fix
PS3: Derp fix 2.0

(cherry picked from commit 988968e33a13fca5006328e536a2f89f6a764e30)