Initial commit

Works but will be changed soon to allow configuration for everything
(basically no static text or magic numbers). The blog is also going to
be updated to extract out the storage engine so it can be chosen at
runtime to use either the filesystem or a db for example. The new
update will be coming soon.