Fixed #13252 -- Added ability to serialize with natural primary keys.

Added ``--natural-foreign`` and ``--natural-primary`` options and
deprecated the ``--natural`` option to the ``dumpdata`` management
command.

Added ``use_natural_foreign_keys`` and ``use_natural_primary_keys``
arguments and deprecated the ``use_natural_keys`` argument to
``django.core.serializers.Serializer.serialize()``.

Thanks SmileyChris for the suggestion.
Added tests for URLValidator schemes.
Minor edits to docs/topics/db/queries.txt.
Fixed errors in 848101bf1736d1c01eb86968e85a14c7466bb376
Fixed #15582 -- Documented how TransactionTestCase.multi_db affects fixtures.

Thanks slinkp for the suggestion.
Updated OpenLayers version from 2.11 to 2.13
Forms docs: More emphasis in 'id'  value customizability.
Fixed #21173 -- Stopped fixing format for date-based widgets at init time

Thanks Marc Tamlyn for the review.
Fixed #19560 -- Identified field in warning for naive datetime.

Thanks gcc for the report and vajrasky for the patch.
Fixed #21198 -- Prevented invalid use of @python_2_unicode_compatible.

Thanks jpic for the report and chmodas for working on a patch.

Reverts 2ea80b94. Refs #19362.
Fixed #21256 -- Error in datetime_safe.datetime.combine.
Imported custom user classes in tests depending on it

Without those imports, affected test files cannot be run
independently. Refs #21164.
Amend my description in committers.txt.
Fixed #15888 -- Made tablename argument of createcachetable optional

Thanks Aymeric Augustin for the report and the documentation and
Tim Graham for the review.
Fixed #21027 -- Updated tutorial 5 docs to link to management shell command page.
Fixed #21264 -- Incorrect RST usage in docs
Fixed #18866 -- added validation error for verbose_name longer than 39 characters

Added a validation error check when creating the permissions for model, to avoid
cryptic database error when the verbose_name is longer than 39 characters
thanks elena for reporting it
Merge pull request #1733 from joaoxsouls/#18866

Fixed #18866 -- added validation error for verbose_name longer than 39 characters
Fixed #21210 -- Documented when runserver doesn't auto-restart.

Thanks gergely at polonkai.eu for the suggestion.
Clarfied the ModelForm docs with respect to generated vs. declared fields.

The ModelForm docs suggested that fields defined declaratively override
default fields generated from the form Meta.

This is conceptually wrong, especially with inheritance in mind. Meta is
usually defined on the topmost ModelForm subclass, while fields can come
from anywhere in the MRO, especially base classes; therefore we suggested
that something defined in a base class override something from a subclass.

This patch rephrases the docs around the idea that Meta is used to generate
*missing* fields.

Refs #8620, #19617.

Thanks @mjtamlyn and @timgraham for the review.