Removed quickElement from calendar.js

The function quickElement in calendar.js is a duplicate of the
quickElement function in core.js. Refs #4120.
Moved cancelEventPropagation into core.js

The cancelEventPropagation function is a general utility function that
can be reused by other widgets. Refs #4120.
Moved removeChildren to core.js

The function removeChildren is a general utility that other functions
might want to use.
Fixes #4120. Thanks arvin for the initial patch.
Removed forced typecasting of help_text/label Field arguments

In any case, setting those variables to non-ascii utf-8 bytestrings
is now considered a programming error.
Fixed docs reST warning.
Fixed #20121 -- Removed LogEntry.get_admin_url's hard-coded path.

Updated LogEntry.get_admin_url to use 'reverse' instead
of a hard-coded path.
Fixed #20091 -- Oracle null promotion for empty strings
Fixed #20138 -- Added BCryptSHA256PasswordHasher

BCryptSHA256PasswordHasher pre-hashes the users password using
SHA256 to prevent the 72 byte truncation inherient in the BCrypt
algorithm.
Add Donald Stufft to the AUTHORS file
Merge pull request #958 from dstufft/prehash-bcrypt

Fixed #20138 -- Added BCryptSHA256PasswordHasher
Fix a missing " character in the password documentation
Added regression test for custom SQL containing percents

Refs #3485.