[WIP] bpo-26098: Implement PEP 510, function specialization by vstinner · Pull Request #2354 · python/cpython

@vstinner

* Add PyFuncGuardObject and PySpecializedCode structures
* Add nb_specialized and specialized fields to the PyFunctionObject
  structure: array of PySpecializedCode
* Add functions:

  - PyFunction_Specialize()
  - PyFunction_GetSpecializedCodes()
  - PyFunction_RemoveSpecialized()
  - PyFunction_RemoveAllSpecialized()

* Add PyFuncGuard_Type type
* Add _testcapi.PyGuard, used for unit tests
* Add unit tests to test_call