Initial History work

- Adds Sheer support for the History post type
- Implements single-column History layout
Yeah we haven't totally solved it, but here's what I'm thinking...

Sometimes a Block is also an Element, like in this case the History Item is an Element of History, but it's also its own Block in charge of styling all of the History Item bits. In cases like this we should use two class names, one class to style the Block aspects of it and another class to style the Element aspects of it.

For example, and these are just example visual styles I'm going to use here... Let's say in the History Block we have History Items and these History Items when inside of History are laid out in two columns. We can give the History Item the class of `.history_item` to denote that it's an element of `.history` and we can use the `.history_item` class to apply the 2 column layout styles.

```css
.history { ... }
.history_item {
  // position me within .history
}
```

But History Item also has its own look with its own Elements so now we need a class name that will allow us to apply these styles.

```css
// History Item block
.history-item {
  // maybe some padding and a white bg
}
.history-item_title {
  // .h4(), some margins, etc...
}
.history-item_date {
  // .h6(), some margins, etc...
}
```

The advantage here is that you can use `.history-item` almost anywhere because it doesn't have the layout styles attached to it. We could use it in a three column layout if we wanted instead of a two column layout. Also now we can add other patterns inside of `.history_item` because all that class does is position itself within `.history`, we could put a generic expandable inside it with no hassle. I think this approach really sticks to the BEM spirit:

> A block is an independent entity with its own meaning that represents a piece of interface on a page.

> An element is a part of a block, tied to it semantically and functionally. It has no meaning outside of the block it belongs to. Not all blocks have elements.