Updates and cleanups

This modernizes and cleans up a lot of old code and gets it up to my current gem development standards.  No new behavior - just "house cleaning".