now the spec works with the lib
Code cleanup and headerdoc added

I cleaned up the code and made some
small performance improvements (the charactersets are
initialized on init now, rather than every time validEmail is called.