Decouple the Blog Post List from RichTextPages

The blog_post_list.html template currently requires that any `page`
context variable passed to it has a `richtextpage` attribute.

These changes modify the template, making the `richtextpage` attribute
optional. This allows users to create other Page types pointing to the
URL of the Blog Post List.
Fix styling of admin help text. Closes #1013.
Merge
Further decoupling of richtextpage in blog templates.
Added test to check admin sites dropdown appears.
Apply admin title click globally.
Show users section in admin nav highlighted as active for the change password view.
Include grappelli in INSTALLED_APPS during tests.
Skip reset password test for older Django versions since we now include grappelli, which has a bad url name in the reset password template. Since fixed but not released.
Ensure missing settings vars don't break admin JS. Closes #1015.
Bump grappelli safe version to 0.3.9
Version bump to 3.1.2
Added tag 3.1.2 for changeset 62a072d9af98
Update auto generated CHANGELOG, requirements.
Typo in README sites list.
Fix regression in page middleware on non TemplateResponse responses.
Revert change to javascript location in default templates.
Version bump to 3.1.3
Added tag 3.1.3 for changeset 78986b7f1bc7
Update auto generated CHANGELOG, requirements.