Add archive functionality

Adds archive functionality 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`.

- [x] Add core functionality
- [ ] Add tests