* Add Lua *pattern matching engine* (`pattern.ts`) that directly ports
`lstrlib.c` semantics.
* Integrate the new engine into the `string` API for `find`, `match`,
`gmatch`, and `gsub` functions.
* Add a pattern test suite (`pattern_test.lua`) covering character
classes, repetition quantifiers, edge cases as well as error
conditions.
* Refactor `string_test.lua` to remove duplicated pattern tests that
are now covered by the pattern test suite.
* Fix `string.rep` separator support.
* Fix `string.sub` index handling.
* Remove the obsolete `string_test2.lua` file.
Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>