Make Dispatcher::backendFallbackKernels_ an array (#30340)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/30340
We already made OperatorEntry::dispatchTable_ an array to be able to avoid the concurrency primitives there,
but Dispatcher::backendFallbackKernels_ has the same issue. Let's make it a table too.
Since there is some code duplication here, we also factor out the concept of a KernelFunctionTable to be used in both places.
ghstack-source-id: 94481317
Test Plan: unit tests
Differential Revision: D18663426
fbshipit-source-id: ba82ca5c4cae581eea359d5c0c3a5e23b0f8838c