+-----------------------------------------------+
| THE LINKED LIST OF FILES (.llf) BINARY FORMAT |
+-----------------------------------------------+
The goal of the LLF format is to store a list of files and their contents.

An LLF file starts with a simple header:

    1. 4 bytes stating the total number of files, and
    2. A 4-byte index of the cluster (see below) describing the first file.

The rest of the LLF file is broken up into "clusters," each of size 256 bytes.
Every cluster is laid out like so:

    1. 4 bytes for the "next cluster link," encoding the index of the next
        cluster in the list. (A next cluster link of 0 indicates there are no
        more clusters in the list; the first cluster is cluster 1.)
    2. 1 byte, encoding how many bytes of content this cluster holds.
    3. The cluster data (at most 256-5 bytes).

There are two types of clusters:

    A) A "file descriptor" cluster contains as its data:
        -> 4 bytes, encoding the index of the first cluster holding the file
           contents.
        -> The rest of the cluster data is the file name (at most 256-5-4
        bytes, terminated by a null character).

    B) A "file contents" cluster contains the contents of a file. If the
    contents of the file is longer than 256-5 bytes, the rest of the file's
    contents can be found in the next cluster in the list.
