Add arch features

Allow architecture toolchains to register "features" supported by the
current variant, and then apply properties from the selected features.
Equivalent to the ARCH_*_HAS_* variables in the combo makefiles.

Change-Id: Ib6823be1c1a52da677d081db9f24336a072eaf39
diff --git a/cc/toolchain.go b/cc/toolchain.go
index e17e345..8a8fc2d 100644
--- a/cc/toolchain.go
+++ b/cc/toolchain.go
@@ -20,7 +20,7 @@
 	"android/soong/common"
 )
 
-type toolchainFactory func(archVariant string, cpuVariant string) Toolchain
+type toolchainFactory func(arch common.Arch) Toolchain
 
 var toolchainFactories = map[common.HostOrDevice]map[common.ArchType]toolchainFactory{
 	common.Host:   make(map[common.ArchType]toolchainFactory),