Spam whitelist admin posts
http server: add DOCUMENT_ROOT to environ
staff.StaffMember: encrypt password on setter function

(It was done elsewhere before)
Link to non-admin version of each thread from the admin panel ('Original')
Add spoiler css to normal_head_include.html
Workaround an imagemagick bug when generating labeled thumbnails
Add support for board_config_defaults.py

If it exists, all boards' settings will start with the contents of the
config dict in this module, then have it overriden by the particular
settings on the board_config.py file.

This file is optional, but if it exists it should have at least a line
saying "config = {}".
Refactor configuration of filetypes/icons (Read on for details)

FILETYPES on board_config.py was nuked completely, and split into the
following:

- config.py: ICONS

  A dict of {extension: path to the icon}, just like the old FILETYPES
  but global, and doesn't specify allowed filetypes.

- board_config.py: 'EXTRA_FILETYPES'.

  A list of lowercase extensions that are allowed on this board
  (jpg/gif/png are always allowed and not needed here)

- board_config.py: 'KEEP_NAME_FILETYPES' (Optional).

  A list of lowercase extensions for which uploads keep their original
  filenames. Optional, defaults to the same list as EXTRA_FILETYPES.

  This was one of the features of the old FILETYPES, but since it was a
  dict of {ext: icon path}, the way to keep filenames of images was to
  set the icon path as a single dot. This was unintuitive so I split it
  off

Without updating any configs, nothing should break, except boards losing
their extra filetypes and being restricted to images.
Make the wakaadmin cookie http only

Just a security measure against XSS. Hopefully useless.
Minor tweaks to staff interface
Refactor staff_interface to use decorators
Nuke resolved reports page, since it's not used anymore
Refactor StaffInterface tasks on app.py to use a factory function
Fixed search post by ID
Search by author using 'like' and checking tripcode too
Ninja edit for admins / 'Add ban text' button
Fix TypeError with RowProxy on script security panel
Extremely minor: show post ID after searching post by ID :V
Use sys.executable for the delete_by_ip Popen (first fix for nuke)
Oh look it's this bug again (resolving reports fucking up all boards)