Switch to using six for all dictionary iteration.

Review Request #9566 — Created Feb. 1, 2018 and submitted — Latest diff uploaded

Information

Django Evolution
master
c33590d...

Reviewers

This changes all .items(), .iteritems(), .keys(), etc. calls to
use six equivalents instead, getting us a step closer to Python 3
compatibility.

The logic hasn't changed, except for an optimization to diff.py where
an unnecessary call to ATTRIBUTE_DEFAULTS.keys() was being called for
every model in every app.

Unit tests pass on all supported database types and Django versions.