Fix up kern.cryptodevallowsoft handling
- Always ensure kern.cryptodevallowsoft is unset when completing the tests, otherwise /dev/crypto access could remain on after the tests are complete if interrupted.
- Check for errors when setting kern.cryptodevallowsoft. While this isn't strictly needed in positive cases, it helps when dealing with the myriad of problems that might ensue because /dev/crypto doesn't exist when the sysctl isn't enabled.