Refactor permissions system to be more reusable.

These changes are necessary to allow plugins (such as liveupdate) to
reuse core parts of the permission system.
Permissions: fix serialization of superuser permissions.

JSON serialization of a superuser permission set would return {all:
false} because of the way __getitem__ works.
CommentTreeStorageV3: C* without counters.
CommentTreeStorageV3: move special no parent id to class attribute.
CommentTreeStorageV3: remove check for comment id of -1.
Userpage sidebar: move mod list above AdminSidebar
user/about.json: Do not include private values in json.
saved: Fix being unable to open dropdown.
stylesheet: Add reason field.
saved.js: Save right away.
saved.js: Remove extra show() call.
saved: Add new categories to list as you save.
wiki: Add an emergency admin delete.
messages: If you are the original sender of a modmail, always inbox.
Send an email when a campaign's transaction is voided.
Show a warning message when a user changes the bid of a paid campaign.
Domain Notes:  Keep and display notes for individual domains
POST_subscribe: return errors rather than silently fail.
install-reddit: Focus on dev-environment installs and reorganize.

Production installs should work pretty differently and I have a few
plans for that.  In the meantime, this simplifies away a few of the bits
that were ill advisedly trying to help production installs and changes
the installer to be better suited to the modern environment with plugins
etc. by putting all code in a src/ directory.
install-reddit: Add some helper scripts to the install env.

These reduce typing to do paster run and paster shell by taking
advantage of the standard location of run.ini.