Welcome message: handle default_sr not existing
zookeeper: Gracefully close connection when app is shutting down.

This should help reduce logspam on the zookeeper ensemble.

The `on_app_shutdown` function is intended for use in gunicorn's
`worker_exit` hook.
Make sure `window.opener` is null when opening tabs for users' links

Thanks to Hamid Ashraf (/u/hamihax) for the report! A lot of
user-agents allow windows and tabs to navigate their openers through
`window.opener.location`.

This creates a potential phishing risk where a victim with the
"open links in a new window" pref clicks a link submitted by an
attacker. The attacker's page may then navigate the reddit page that
opened it. When the user closes the tab with the attacker's submitted
content, they'll be greeted with an attacker controlled page, and
they would be less likely to notice since the tab previously contained
a page served by reddit.

IMO this is really a flaw in same-origin policy, but the behaviour is
present in a number of browsers.
selfserve: Fix rounding error on frontend.

make calc_impressions in sponsored.js behave the same as calc_impressions on the
backend, i.e. round down.
markdown: Change base font-size from 10px to 14px.
markdown: Update color palette.
markdown: Fix display of inbox messages.

Inbox messages display with a tiny font size when viewing with the new markdown
styles.  This is due to a change introduced in e8d0ce7.

<longwindedexplaination>
    The idea behind that change was to make the default font-size for `.md`
    elements `14px` while still using relative font sizes (using `ems` and
    keywords).  This lets us continue to respect browser preferences _and_
    makes the styles a _little_ harder to break via custom css (before this,
    increasing the font size of `.md` could drastically increase a subreddit's
    font size).

    In order to do this, you actually have to use two elements, because
    browsers only provide a limited set of absolute font sizes that respect
    user preferences (via keywords). The outer element uses a keyword font size
    to reset the base font size to the nearest keyword value `small (13px)`,
    and the inner `.md` element scales that up to the desired default font size
    using `ems`.  I thought that using `.wiki-page-content` for wiki pages and
    `usertext-body` for everything else covered it, but it turns out that
    message pages don't wrap message with `UserText`, so the `.md` text there
    is getting scaled up from the site default size of `x-small (10px)`.

    The end result is that we can use `p { font-size: 1em; }`, so if some
    stylesheet author decides they want to set
    `.md { font-size: <whatever>px }`, that's what they'll get.
</longwindedexplaination>

Rather than adding _another_ css rule trying to target the messages page (which
I don't think is possible without side effects anyway), I did two things:
first, I added an extra css class _specifically_ for this purpose
(`.md-container`) and applied to both the `wiki-page-content` and
`usertext-body` elements; and second, wrapped the offending markdown on the
inbox page with an element of that class.
Fix collapsing in modmail.

Fixes a bug introduced in dd9e045 that prevents messages from collapsing
in modmail.  This was due to the markup change, combined with some overly
specific CSS.