Rewrite almost everything to get to 1.0.0.pre.1

AndFeathers is now archive format-agnostic in that the primary builder
object is an `AndFeathers::Archive`, which has a `to_io` method on it.
This method takes any object which conforms to a specific interface,
examples of which can be found in and_feathers-zip and
and_feathers-gzipped_tarball

The Archive object is implemented in such a way that makes it possible
to iteratively build up an archive structure, where previously it pretty
much had to be done all at once. This means that one can load an
existing folder as the basis for an archive and then overwrite existing
files with new content, or add new files/directories in a
non-destructive way.