update, modernize, and cleanup the gem meta
update, modernize, and cleanup the test suite

Bring in the latest Assert and update to the latest testing conventions
and standards.
update and cleanup the lib code

Just cleaning up and standardizing the code style.