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.