Incremental regeneration

Speed up Jekyll site builds by offering the ability to store site metadata in a file so that the metadata can be used and referenced in order to avoid regenerating things that don't need to be regenerated. 

Below is an incomplete list of things that need to be done before this feature is shippable. However, now that I have more than just a couple of failing scenarios, I wanted to invite others to contribute.

- [x] Implement a basic datastore for metadata.
- [ ] Add additional cucumber scenarios (there's a ton that I want to add that i've just not written down yet)
- [ ] Add regeneration of posts based on file system modification time
- [ ] Add regeneration of drafts based on file system modification time
- [ ] Add regeneration of pages based on file system modification time
- [ ] Add regeneration of static files based on file system modification time
- [ ] Replace existing static file incremental regeneration with newer version
- [ ] Refactor the SRP violation in `SiteMetaData`

See also #380 #1012