BUGFIX: Handle text input in keypress handler for I18n

While the `keydown` handler is the only way of reliably catching special keys,
for textual input `keypress` is preferable, as it can handle thing like parens
without having to hardcode a keyboard.

I moved that code and in the process converted some magic numbers to constants
- mostly so I can read stuff better.
trigger password manager for password reset page
FEATURE: log topic/post deletions from staff members
FEATURE: automatically hide posts made by TL0 users when flagged by a TL3 user
remove the /cookbook directory from the sublime project file
should have a 's' there
improve description of the purge_inactive_users_grace_period_days site setting
FIX: Drupal import was using wrong comments table
hide category in docked header
FIX: quoting non-existing messages would break SMF2 importer
category badge now falls below topic title & other small fixes
Merge pull request #2837 from awesomerobot/master

category badge now falls below topic title & other small fixes
FIX: if quoting ends with link, quote reply does not show up
copyedit on backup choices
Fix: remove hardcoded minimum for username length validation
FEATURE: always show highest trust level badge in card
FEATURE: fa-user icon for trust level badges
FIX: badge notifications are marked read by the system after opening
Merge pull request #2838 from lidlanca/fix_min_username

Fix: remove hardcoded minimum for username length validation
Merge pull request #2836 from Elberet/smf2-import

FIX: quoting non-existing messages would break SMF2 importer
Merge pull request #2834 from techAPJ/patch-1

trigger "browser password manager" for password reset page