
Improvements over the old code:
- Handles hash files. You probably don't want to throw 100k hashes at this, but lists of a few dozen are fine...

- Uses multiple GPUs to do multi-hash candidate hash regeneration. It's not any faster on a single hash, but if you have multiple GPUs and multiple hashes, woo!
- Does sane merging of candidate chains after all the hashes are generated - no single hash speed improvements, improvements for multi-hash by not searching for the same hash more than once, and not regenerating the same chain more than once.
- Uses multiple GPUs to do the chain regeneration, exiting once all hashes have been found.
I still have a bit left to go before I release it.
- Add something other than MD5 len6
- Hopefully track down a random segfault or two
- Add some sort of display that makes sense. This may get delayed, as currently it works, just has a ton of useless output.
But, it's pretty slick so far!