Unify and isolate password changes in password change views

ChangePasswordView and PasswordResetTokenView both change the password of the
acting user. Their APIs are now unified.

ChangePasswordView used to rely on the form to set the user's password. This
has been moved to the view as the correct place for this behavior. This is
backwards incompatible for forms that overrode ChangePasswordForm.save to
modify the password setting behavior.

PasswordResetTokenView has been unified with the new API given to
ChangePasswordView. The password_changed signal is now fired from the view
when the password is changed.

The new API now isolates the password change behavior from actions to take
after the password has been changed on the User model or any other behavior
a site developer needs to take when password is being changed.