Use placeholders to fetch archive blog posts.

Use placeholders in the query that fetches archive blog posts from the
database.  Placeholders should be safer than interpolated variables like
what was used before.
Add controller method to display blog archive.

Add method to blog_posts_controller and routes to display an archive
listing of posts by month and year.
Only return published posts from the archive.
Allow archive to be viewable by any visitor.
Add view to show when a blog post archive is empty.

Add a view to display to visitors when they select a blog post archive
that contains no posts.