static lib (.a) and long ints for handling large data counts

This patch adds a facility to compile a static lib (which is nice in some contexts) and also use 64-bit unsigned integers for tracking progress, which is important when we have many billions of items to process.