addressed code review comments, added new tests for init/copy/hash, added cached property for inverted character set