Add support for queue file sizes that are larger than 2G. Since the file format has to be changed to accommodate larger file sizes, the original behavior is retained by default. Using QueueFileFactory, one can supply a different QueueFile for use in FileObjectQueue which allows for more than 2 million elements and file sizes that are larger than 2G. A migration function is provided that can migrate older queue files (writing a new one in the process) and optionally deleting the old queue file once migration is complete.