plx::HexASCII

Also some tests
fix bug in EqualToStr

it was returning true in partial match because it was using strncmp with
only the range.Size() so if we had a token with range "Foo" it was
matching "Foo" and "Foobar".

Since most usage was EqualToStr(tok, "some text") it seems better to
beef up Range ctor and Range::Equal.
adding plx::RangeFromLitStr

so we can get ranges from "strings like this".
plx::HexASCIIStr and plx::RangeFromArray

with tests.
overlong test for utf8 conversion

tests
plx::HexASCIIStr

I forgot it before, I guess