Add archive functionality

Adds archive functionality (#870) by year, tag, and category via a new Archive class. This class is similar to a Page, but does not have inherent content or path. It is rendered using the layout specified in configuration; this defaults to `archive.html`.

URL's for archive pages are:
- by year: `/archive/:year/`
- by tag: `/tag/:tag/`
- by category: `/category/:category/`

---

Tasks:
- [x] Add core functionality
- [x] Add Cucumber feature
- [ ] Add tests
- [ ] Add documentation