Fixed #12914 -- Use yaml faster C implementation when available

Thanks Beuc for the report and the initial patch.
Fixed #19173 -- Made EmptyQuerySet a marker class only

The guarantee that no queries will be made when accessing results is
done by new EmptyWhere class which is used for query.where and having.

Thanks to Simon Charette for reviewing and valuable suggestions.
Tests for various emptyqs tickets

The tickets are either about different signature between qs.none() and
qs or problems with subclass types (either EmptyQS overrided the custom
qs class, or EmptyQS was overridden by another class - values() did
this).

Fixed #15959, fixed #17271, fixed #17712, fixed #19426
Fixed #19571 -- Updated runserver output in the tutorial
Created special PostgreSQL text indexes when unique is True

Refs #19441.
Fixed typo in 1.5 release notes; thanks Jonas Obrist.
Fixed #16759 -- Remove use of __deepcopy__ in qs.clone()

The original problem was that queryset cloning was really expensive
when filtering with F() clauses. The __deepcopy__ went too deep copying
_meta attributes of the models used. To fix this the use of
__deepcopy__ in qs cloning was removed.

This commit results in some speed improvements across the djangobench
benchmark suite. Most query_* tests are 20-30% faster, save() is 50%
faster and finally complex filtering situations can see 2x to order
of magnitude improvments.

Thanks to Suor, Alex and lrekucki for valuable feedback.
Updated deprecated test assertions
Fixed #17541 -- Fixed non-saved/nullable fk querying
Fixed #19576 -- Use `six.with_metaclass` uniformously accross code base.
Fixed #19555 - Removed '2012' from tutorial 1.

Thanks rodrigorosa.lg and others for the report.
Added sphinx substitutions in place of hardcoded version numbers.

Refs #19571
Fixed #19546 - ensure that deprecation warnings are shown during tests

refs #18985
Remove inaccurate comment regarding language names.
Skipped deprecation warning test on Python 2.6

Refs #19546. On Python 2.6, DeprecationWarnings are visible by
default.
Fixed lockups in jenkins, refs #19546.
Fixed #19586 - Removed URL_VALIDATOR_USER_AGENT from setting docs.

It was removed in Django 1.5, not deprecated.
Addeded CSS to bold deprecation notices.

Thanks Sam Lai for mentioning this on the mailing list.
Fixed #19581 -- ensure unique html ids with CheckboxSelectMultiple widgets

ID check is now done the same way as MultipleHiddenInput.
Fixed #19573 -- Allow override of username field label in AuthenticationForm