[1.5.x] Fixed #19688 -- Allow model subclassing with a custom metaclass using six.with_metaclass

Backport of 6b03179e126d4df01623dccc162c1579f349e41e from master.

Although we're post RC 2, I'm backporting this because it's arguably a
major bug in a new feauture that will prevent several well-known
third-party apps from being ported to Python 3.