Some improvements to the crypto module
This mainly replaces a lot of 16s and 32s with computed values based on the hash or cipher function involved. I think all the values were right before and this doesn't immediately bring any additional flexibility but I kept mixing up 16s and 32s while working on !14 (merged) so I wanted to limit the possibility of that happening in the future. Maybe this will go some way towards that goal.
Also eventually if the cipher and hash types could get pushed into more signatures then maybe this is a step towards more flexibility someday (eg allowing us to replace SHA256 and AES128 with other things in some new capability types) - though there's still a huge amount of work to do to realize that goal.
Also I let fourmolu do a bunch of rewriting of import sections on modules that were being changed anyway.
This is stacked on top of !14 (merged)