ARM: default to arm1176jzf-s for hard-float platforms.

It makes no sense to try and compile for arm7tdmi when we're targeting
something like gnueabihf. Although not strictly the most basic hardware
conceivable, I believe arm1176jzf-s is a reasonable compromise (that can always
be overridden explicitly if needed) since it's still in reasonably common use
unlike earlier cores.

Patch by Stephen Kelly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188796 91177308-0d34-0410-b5e6-96231b3b80d8
ARM: add test for last commit

This time I managed to forget the test.

Patch still by Stephen Kelly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188797 91177308-0d34-0410-b5e6-96231b3b80d8
Refactor the x86 feature handling.

This removes the very long chains of
Feature["avx"] = Feature["sse42"] = ... = true;

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188799 91177308-0d34-0410-b5e6-96231b3b80d8