Fix regex for string literals

ur"\u0022" is converted to r"\u0022" by 2to3. When using u, the \u0022
is interpreted as unicode character. When only r is used, the \ is
taken literally. The STRING_LITERAL1 and STRING_LITERAL2 use \uxxxx and
therefore don't work as expected in Python 3.

The most notable effect is that the regexes read beyond the end of the
string if they encounter something like "a","b", for example in the
following query "a","b" is parsed as 'a","b'.

SELECT (CONCAT("a","b") AS ?c) {}

Note that \r and \n are interpreted by the Regex engine while \uxxxx
is not. This commit replaces the offending escape sequences with ", ',
\r, and \n.
Merge pull request #7 from uholzer/bug-string-regex

py3compat: Fix regex for string literals
keep prologue for update statements. fixes #8