changed number parsing to use counters

hopefully much faster since there should be much less string object
creation going on
added more characters to string test
changed number to use posix :xdigit: group
taught string about hex and unicode escapes
added symbols