Titles are a hack

`page.title` is an array of values, the idea being that for posts you can detect that you're on a post:

```
[ "Posts", post.title ]
```

Trouble is that this same scheme isn't really used anywhere else. It's just inherited from a previous pre-release incarnation of the code. For example, on non-post pages, it's this:

```ruby
"page" => { "title" => [title].compact }
```

Where `title` can come from the file's headers:

```
title: About me

<p>Here's my long about me</p>
```

It isn't documented, and it's cumbersome.

`page.title` should be just a single value. There can be other markers, such as:

* `archive_page` — this exists already
* `post_page` — this doesn't exist yet
* `draft_preview` — this exists already

* [x] Switch `page.title` to be a single string value. (This is a *breaking change*.)
* [x] Add `post_page` when posts are being generated.