Fixed #23780 -- Added ability to configure natural keys from a tuple on meta

Using a model's meta to define a list of fields to use for natural keys. Eliminates the double implementation of natural keys needed in order to use them, also supports inheritance.