Switched setup.py to setuptools.
Skipped inclusion of scripts (pip will take care of that).
Changed setup.py to use find_packages.
Merge pull request #2116 from apollo13/setuptools

 Switched setup.py to setuptools.
Fixed #18907 -- Correct docs regard population of model backrefs.

Thanks simonpercivall for the report and Aymeric for the patch.
Implement swappable model support for migrations
Fixed #21783: Use defaults for adding NOT NULL on sqlite
Fix unicode default input on py3
Fixed #21323 -- Improved readability of serialized Operation.
Merge pull request #1681 from loic/migrations.format

Fixed #21323 -- Improved readability of serialized Operation.
Fixed #21783: (again) Found second source of bug, also squashed it.
Fixed #21786: Bad behaviour when mixins + abstract bases for migrations
Fixed #21664: Multi-table inheritance was duplicating _ptr fields
Fixed #21638: Validators are now comparable, stops infinite user mig'ns
Remove unicode prefix that snuck in
Remove other unicode literal
Moved the loader tags registration with the other builtins.
Fixed #21290: Documented migration serializing and improved error
Fixed some admin sphinx definitions so links work properly.
Fixed #16905 -- Added extensible checks (nee validation) framework

This is the result of Christopher Medrela's 2013 Summer of Code project.

Thanks also to Preston Holmes, Tim Graham, Anssi Kääriäinen, Florian
Apolloner, and Alex Gaynor for review notes along the way.

Also: Fixes #8579, fixes #3055, fixes #19844.