Pre-RFC: stabilization of target_feature

Awesome proposal, really liking it!

The description of this pr says that its currently possible to call functions with the target_feature attribute on platforms that don’t have such an attribute, without any checks.

Therefore I think there should be a check in the compiler, that only allows such functions to be called in functions that have the same target_feature attribute, or in code that has a cfg! check for target_feature, or in an unsafe context. Later on we can also add semi-static branching that runs a cpuid or /proc/cpuinfo check on the first time we visit, and for subsequent runs has a much smaller overhead (in the best case: none) by having self-updated the code its running to hard wire the behaviour to the decision just made, or (maybe smarter to do it this way) by setting a function pointer. There has been discussion on that optimisation already, but I think for the initial stabilisation proposal its too much.