Added a config system and automatic post caching

Cached posts will be regenerated on content change (sha1 hash)
Specifying --bypass-cache on the command line or bypass-cache: true in the config will rebuild all files
Specifying a file on the command line will ignore the cache for just that file
  Note: Plugins that rely on cross-post content may break if all are not rebuilt at the same time
Pass site data to plugins, add plugin callbacks for before/after all rendering
Fix footnotes plugin to render as part of the template