Fix scanning of strings and implement \z

The old pattern (in the 3rd alternative) allowed \ to be scanned alone
and not only as the first char in a pair which meant that the string
ending '/" could become quoted by mistake. We also now read in the
whole string and then work out if any included eol is correct.
Make LUA_PATH value a binary
Fix bug when parsing character sets in patterns
Fix handling of anchoring pattern when starting inside the string

Changes the handling of '^' to mean where you start looking in the
string and not the actual beginning of the string. This follows
lua. Also took the opportunity to standardise some function naming
conventions.
Get the offset counting correct for captures
Merge remote-tracking branch 'upstream/develop' into develop