hash:password it is!

I've added sha1 support using Vampyr's SHA1 code from governmentsecurity (not his charset stepping code - *cringe* - but his SHA1 implementation).
I need to run it through my validation scripts later today to ensure everything is working properly. If that's the case (and I expect it to be), then I'll be releasing 0.7 today for Windows/Linux/Mac.
Notable new features:
- Per-position character set support
- FAR better multi-hash performance on both small & large lists, no upper limit on hash count except GPU memory
- FAST[hash] modes - the better multi-hash performance optimizations really hurt performance on small hash lists, so for shorter lists, I have a faster version. This also works well with short kernel invocation lengths (to not muck up the GUI), whereas the larger multihash mode doesn't do so hot there.
- Changed output file format to [hashtype]:[hash]:[password] for easier parsing. I'm keeping the [hashtype] entry, it's easy enough to trim off if needed.
- SHA1 support
- Code is still hideous, but I'll probably release it for those who are curious.
I think the next step is to refactor it to C++, as this is a problem set well suited to objects (not on the GPU, but for host code organization) - have a few base classes that can be expanded as needed, and it will clean up the code dramatically, as well as help make adding new hash types a LOT easier.