17890: added support for extra_context in django.contrib.admin.site.password_change

This pull request replaces the one at https://github.com/django/django/pull/64.

Rebased my commits to be up to date with master branch.