Add DeepSeq tool to generate NFData instances

I've thrown in a couple of fixes to other minor issues.