Several enhancements

I've added support for the ghash.io methods, and cleaned up the code quite a bit. I will continue updating the code so long as I'm using it.