stats.Timer: Add method for getting timer's elapsed time.
Add "days" config type and move MODWINDOW into it.
Drastically reorganize app_globals and time app startup.

This should give us more information on which steps of app startup are
taking the most time so that we can minimize the effects of pushes on
capacity.
app_globals: Clean up imports.
Tighten permissions checking on modmail responses

Prevents users who don't have permission to see a mail
thread from submitting replies to it.
promote.py: No more permacache for get/set_live_promotions
promote.py: Redundant param in set_live_promotions

set_live_promotions had a redundant "links" parameter
(an item that can be calculated from its other param).

This removes that from the function call, as well
as from the return value of its partner, get_live_promotions
promote.py: Clean up imports
promote.py: Whitespace cleanup
promote.py: Use namedtuple for storing weights

This replaces the difficult-to-follow tuples with
a namedtuple, AdWeight, that should be slightly less
difficult to understand when reading.
promote.py: Clearer timer names

Also, replace Timer with log message for infrequently hit
code path.
The 'share' link can now share with reddit users via PM.
    From /r/ideasfortheadmins http://redd.it/z5d0y
apidoc: Replace wraps_api with functools.wraps.

Since functools.wraps updates based on the source fn.__dict__, it looks
like this was a wasteful nop. :/
Add missing @wraps to cross_domain.
Reorder login/reg methods to copy docs from real handlers.
Add equality implementation for Account model.
Make reddit login cookie HTTP only.
Prevent users from gilding themselves via the icon.
Display the number of comment gildings.
Wrap thingupdater in a closure.

To prevent thingupdater JSON data from being JS globals.