Fixed test failure on MySQL

The fix for #20874 caused a MySQL specific failure.
Fixed is_safe_url() to reject URLs that use a scheme other than HTTP/S.

This is a security fix; disclosure to follow shortly.
Apply autoescaping to AdminURLFieldWidget.

This is a security fix; disclosure to follow shortly.
Added 1.4.6/1.5.2 release notes.
Fixed #20555 -- Make subwidget id attribute available

In `BoundField.__iter__`, the widget's id attribute is now passed to
each subwidget. A new id_for_label property was added to ChoiceInput.
Removed unneeded conditional_escapes from the testsuite.
Fixed #20864 -- Made the test client use common method for performing requests.
Fixed #19617 -- Refactored Form metaclasses to support more inheritance scenarios.

Thanks apollo13, funkybob and mjtamlyn for the reviews.
Fixed #8620 -- Updated the Form metaclass to support excluding fields by shadowing them.