Adds the archive function
Adds the archive function

Basically, the function defines what the API has to look like and what
functions I now have to implement.

The archive step is simply done in 2 steps:

1/ Get all the files to archive. This may depend on time. It doesn't if
the user wants a complete backup.
2/ Writes the archive. Once all the files are known, then write the
bytes to a specified file that will make up the archive.

ralt/agni