Fix and improve charrange microbenchmarks

They were originally creating bogus data, testing only successful and
not unsuccessful matches, and tended to take an untenable time to finish.
All of these issues are now fixed, though the extra complexity needed for
these tests makes me wonder if we need special structure for regex tests.

Note to test submitters: If you're unsure of your test and are just
committing to share the WIP, please mark the test 'enabled => 0' so that
general users won't get tripped up.