Add support for queue file sizes that are larger than 2G

Can't really reuse a lot of the code in the abstract class since ints and longs have to be taken care of separately. Migration function is provided.