Hg issue 227: Incorrect behavior for ? operator with UNICODE + IGNORECASE
'end_pos' wasn't always initialised in 'locate_required_string'.
2016.11.21
Not secure
Hg issue 226: Error matching at start of string
Fuzzy matching of zero-width items wasn't quite right.
2016.11.18
Not secure
Hg issue 225: BESTMATCH in fuzzy match not working
2016.10.22
Not secure
Hg issue 221: Got an exception using PyPy
pypy2-v5.4.1 appears not to support the buffer protocol on bytestrings (str in Python 2), so added code to handle them analogously to how unicode strings are handled.