Added a helper class for asyncrhonously processing a list of items in order.
Updated the Redis jobs backend to cache job data on disk shortly after the job completes, and remove Redis's copy except for the indexes pointing to it. This is designed to reduce the memory usage of the jobs Redis signifcantly, whilst hardly impacting performance, as jobs are not looked up very often.
In line with the Redis jobs backend changes, handle on the frontend cases where the job has been moved out of memory and onto disk. The full status for the job is updated once loaded from disk.
Updated the documentation build script and manifest to delete unrequired files. This keeps the package size down on the production hosting cluster.